Skip to content

Commit 2465abc

Browse files
0oM4REslam-Nawara
authored andcommitted
WIP: add rewards tests in client
1 parent e5e481c commit 2465abc

File tree

2 files changed

+68
-2
lines changed

2 files changed

+68
-2
lines changed

node-registrar/client/node_test.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package client
22

33
import (
44
"encoding/base64"
5+
"fmt"
56
"net/http"
67
"net/http/httptest"
78
"net/url"
@@ -159,6 +160,7 @@ func TestGetNode(t *testing.T) {
159160
t.Run("test get node with twin id", func(t *testing.T) {
160161
request = getNodeWithTwinID
161162
result, err := c.GetNodeByTwinID(twinID)
163+
fmt.Println(result)
162164
require.NoError(err)
163165
require.Equal(node, result)
164166
})
@@ -171,3 +173,46 @@ func TestGetNode(t *testing.T) {
171173
require.Equal([]Node{node}, result)
172174
})
173175
}
176+
177+
func TestGetNodeCapacityRewards(t *testing.T) {
178+
var request int
179+
var count int
180+
require := require.New(t)
181+
182+
testServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
183+
statusCode, body := serverHandler(r, request, count, require)
184+
w.WriteHeader(statusCode)
185+
_, err := w.Write(body)
186+
require.NoError(err)
187+
count++
188+
}))
189+
defer testServer.Close()
190+
191+
baseURL, err := url.JoinPath(testServer.URL, "v1")
192+
require.NoError(err)
193+
request = newClientWithNoAccount
194+
c, err := NewRegistrarClient(baseURL)
195+
require.NoError(err)
196+
197+
t.Run("test get node capacity rewards, status ok", func(t *testing.T) {
198+
request = getNodeCapacityRewardsWithStatusOK
199+
resp, err := c.GetNodeCapacityRewards(nodeID)
200+
require.NoError(err)
201+
require.Equal(resp, NodeCapacityReward{})
202+
})
203+
204+
t.Run("get node rewards for non-existing node", func(t *testing.T) {
205+
request = getNodeCapacityRewardsWithStatusNotFound
206+
_, err := c.GetNodeCapacityRewards(nodeID)
207+
require.Error(err)
208+
})
209+
210+
t.Run("No reports available, status UnprocessableEntity", func(t *testing.T) {
211+
request = getNodeCapacityRewardsWithStatusUnprocessableEntity
212+
res, err := c.GetNodeCapacityRewards(1)
213+
fmt.Println(res)
214+
fmt.Println(err.Error())
215+
require.Error(err)
216+
require.Equal(res, NodeCapacityReward{TfReward: 323})
217+
})
218+
}

node-registrar/client/utils_test.go

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
var (
1212
account = Account{TwinID: 1, Relays: []string{}, RMBEncKey: ""}
1313
farm = Farm{FarmID: 1, FarmName: "freeFarm", TwinID: 1}
14-
node = Node{NodeID: 1, FarmID: farmID, TwinID: twinID}
14+
node = Node{NodeID: 1, FarmID: farmID, TwinID: twinID, Resources: Resources{CRU: 2342}}
1515
)
1616

1717
const (
@@ -44,6 +44,10 @@ const (
4444
getNodeWithTwinID
4545
listNodesInFarm
4646

47+
getNodeCapacityRewardsWithStatusOK
48+
getNodeCapacityRewardsWithStatusNotFound
49+
getNodeCapacityRewardsWithStatusUnprocessableEntity
50+
4751
testMnemonic = "bottom drive obey lake curtain smoke basket hold race lonely fit walk"
4852

4953
farmID uint64 = 1
@@ -220,6 +224,24 @@ func serverHandler(r *http.Request, request, count int, require *require.Asserti
220224
require.NoError(err)
221225
return http.StatusOK, resp
222226

227+
case getNodeCapacityRewardsWithStatusOK:
228+
require.Equal("/v1/nodes/1/rewards", r.URL.Path)
229+
require.Equal(http.MethodGet, r.Method)
230+
resp, err := json.Marshal(NodeCapacityReward{})
231+
require.NoError(err)
232+
return http.StatusOK, resp
233+
234+
case getNodeCapacityRewardsWithStatusNotFound:
235+
require.Equal("/v1/nodes/1/rewards", r.URL.Path)
236+
require.Equal(http.MethodGet, r.Method)
237+
return http.StatusNotFound, nil
238+
239+
case getNodeCapacityRewardsWithStatusUnprocessableEntity:
240+
require.Equal("/v1/nodes/90/rewards", r.URL.Path)
241+
require.Equal(http.MethodGet, r.Method)
242+
resp, err := json.Marshal(NodeCapacityReward{TfReward: 239843})
243+
require.NoError(err)
244+
return http.StatusUnprocessableEntity, resp
223245
// unauthorized requests
224246
case newClientWithNoAccount,
225247
getAccountWithPKStatusNotFount,
@@ -230,7 +252,6 @@ func serverHandler(r *http.Request, request, count int, require *require.Asserti
230252
require.Equal(account.PublicKey, r.URL.Query().Get("public_key"))
231253
require.Equal(http.MethodGet, r.Method)
232254
return http.StatusNotFound, nil
233-
234255
}
235256

236257
return http.StatusNotAcceptable, nil

0 commit comments

Comments
 (0)