MCPcopy Create free account
hub / github.com/eth-easl/dirigent / TestRegisterWorker

Function TestRegisterWorker

internal/control_plane/control_plane_test.go:108–151  ·  view source on GitHub ↗

Registration tests

(t *testing.T)

Source from the content-addressed store, hash-verified

106// Registration tests
107
108func TestRegisterWorker(t *testing.T) {
109 logrus.SetLevel(logrus.FatalLevel)
110
111 persistenceLayer, ctrl := simplePersistenceLayer(t)
112 defer ctrl.Finish()
113
114 nbRegistrations := 100
115
116 persistenceLayer.EXPECT().StoreWorkerNodeInformation(gomock.Any(), gomock.Any()).DoAndReturn(func(_ context.Context, _ *proto.WorkerNodeInformation) error {
117 return nil
118 }).Times(nbRegistrations)
119
120 controlPlane := NewControlPlane(persistenceLayer, "", placement_policy.NewRandomPlacement(), data_plane.NewDataplaneConnection, workers.NewWorkerNode, &mockConfig)
121
122 err := controlPlane.ReconstructState(context.Background(), mockConfig, nil)
123
124 assert.NoError(t, err, "reconstructing control plane state failed")
125
126 assert.Zero(t, controlPlane.GetNumberConnectedWorkers(), "Number of connected workers should be 0")
127 assert.Zero(t, controlPlane.GetNumberDataplanes(), "Number of connected data planes should be 0")
128 assert.Zero(t, controlPlane.GetNumberServices(), "Number of registered services should be 0")
129
130 for i := 1; i <= nbRegistrations; i++ {
131 name := "mock" + fmt.Sprint(i)
132
133 status, err := controlPlane.RegisterNode(context.Background(), &proto.NodeInfo{
134 NodeID: name,
135 })
136
137 assert.True(t, status.Success, "status should be successful")
138 assert.NoError(t, err, "error should not be nil")
139
140 assert.Equal(t, i, controlPlane.GetNumberConnectedWorkers())
141
142 status, err = controlPlane.RegisterNode(context.Background(), &proto.NodeInfo{
143 NodeID: name,
144 })
145
146 assert.False(t, status.Success, "status should be unsuccessful")
147 assert.NoError(t, err, "error should not be nil")
148
149 assert.Equal(t, i, controlPlane.GetNumberConnectedWorkers())
150 }
151}
152
153func TestRegisterDataplanes(t *testing.T) {
154 logrus.SetLevel(logrus.FatalLevel)

Callers

nothing calls this directly

Calls 10

ReconstructStateMethod · 0.95
GetNumberDataplanesMethod · 0.95
GetNumberServicesMethod · 0.95
RegisterNodeMethod · 0.95
NewRandomPlacementFunction · 0.92
simplePersistenceLayerFunction · 0.85
NewControlPlaneFunction · 0.85
EXPECTMethod · 0.45

Tested by

no test coverage detected