// setupNodeStatusUpdate creates all the needed objects for testing. // the initial environment has 2 nodes with no volumes attached // and adds one volume to attach to each node to the actual state of the world func setupNodeStatusUpdate(logger klog.Logger, t *testing.T) (cache.ActualStateOfWorld, *fake.Clientset, NodeStatusUpdater) { … } // TestNodeStatusUpdater_UpdateNodeStatuses_TwoNodesUpdate calls setup // calls UpdateNodeStatuses() // check that asw.GetVolumesToReportAttached reports nothing left to attach // checks that each node status.volumesAttached is of length 1 and contains the correct volume func TestNodeStatusUpdater_UpdateNodeStatuses_TwoNodesUpdate(t *testing.T) { … } func TestNodeStatusUpdater_UpdateNodeStatuses_FailureInFirstUpdate(t *testing.T) { … } // TestNodeStatusUpdater_UpdateNodeStatusForNode calls setup // calls UpdateNodeStatusesForNode on testnode-1 // check that asw.GetVolumesToReportAttached reports testnode-2 needs to be reported // checks that testnode-1 status.volumesAttached is of length 1 and contains the correct volume func TestNodeStatusUpdater_UpdateNodeStatusForNode(t *testing.T) { … }