Skip to content

Commit a456f1a

Browse files
authored
fix: bump chain-sdk (#365)
remove Validate endpoint Signed-off-by: Artur Troian <troian@users.noreply.github.com> Co-authored-by: Artur Troian <troian@users.noreply.github.com>
1 parent c194985 commit a456f1a

File tree

8 files changed

+75
-414
lines changed

8 files changed

+75
-414
lines changed

gateway/grpc/server.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ import (
88
"time"
99

1010
"google.golang.org/grpc"
11+
"google.golang.org/grpc/codes"
1112
"google.golang.org/grpc/credentials"
1213
"google.golang.org/grpc/keepalive"
1314
"google.golang.org/grpc/metadata"
1415
"google.golang.org/grpc/peer"
16+
"google.golang.org/grpc/status"
1517
"google.golang.org/protobuf/types/known/emptypb"
1618
"pkg.akt.dev/go/util/ctxlog"
1719

@@ -36,6 +38,10 @@ type grpcProviderV1 struct {
3638
client provider.StatusClient
3739
}
3840

41+
func (gm *grpcProviderV1) BidScreening(ctx context.Context, request *providerv1.BidScreeningRequest) (*providerv1.BidScreeningResponse, error) {
42+
return nil, status.Error(codes.Unimplemented, "BidScreening not implemented")
43+
}
44+
3945
var _ providerv1.ProviderRPCServer = (*grpcProviderV1)(nil)
4046

4147
func ContextWithClaims(ctx context.Context, claims *ajwt.Claims) context.Context {

gateway/rest/integration_test.go

Lines changed: 0 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
qmock "pkg.akt.dev/go/mocks/node/client"
2323
certmocks "pkg.akt.dev/go/mocks/node/client/cert"
2424
providermocks "pkg.akt.dev/go/mocks/node/client/provider"
25-
dvbeta "pkg.akt.dev/go/node/deployment/v1beta4"
2625
mtypes "pkg.akt.dev/go/node/market/v1"
2726
providertypes "pkg.akt.dev/go/node/provider/v1beta4"
2827
apclient "pkg.akt.dev/go/provider/client"
@@ -121,88 +120,6 @@ func Test_router_Status(t *testing.T) {
121120
})
122121
}
123122

124-
func Test_router_Validate(t *testing.T) {
125-
t.Run("success", func(t *testing.T) {
126-
expected := apclient.ValidateGroupSpecResult{
127-
MinBidPrice: testutil.AkashDecCoin(t, 200),
128-
}
129-
130-
ctx, cancel := context.WithCancel(context.Background())
131-
defer cancel()
132-
133-
pkey := testutil.Key(t)
134-
ckey := testutil.Key(t)
135-
paddr := sdk.AccAddress(pkey.PubKey().Address())
136-
caddr := sdk.AccAddress(ckey.PubKey().Address())
137-
138-
keys := []cryptotypes.PrivKey{
139-
pkey, ckey,
140-
}
141-
142-
mocks := createMocks()
143-
mocks.pclient.On("Validate", mock.Anything, mock.Anything, mock.Anything).Return(expected, nil)
144-
145-
withServer(ctx, t, keys, mocks.pclient, mocks, func(host string, cquerier *certQuerier) {
146-
cert := testutil.Certificate(t, caddr, testutil.CertificateOptionMocks(mocks.cmocks), testutil.CertificateOptionCache(cquerier))
147-
148-
client, err := apclient.NewClient(context.Background(), paddr, apclient.WithAuthCerts(cert.Cert), apclient.WithProviderURL(host), apclient.WithCertQuerier(cquerier))
149-
assert.NoError(t, err)
150-
result, err := client.Validate(context.Background(), testutil.GroupSpec(t))
151-
assert.NoError(t, err)
152-
assert.Equal(t, expected, result)
153-
154-
client, err = apclient.NewClient(context.Background(), paddr, apclient.WithAuthJWTSigner(&testJwtSigner{
155-
key: ckey,
156-
addr: caddr,
157-
}), apclient.WithProviderURL(host), apclient.WithCertQuerier(cquerier))
158-
assert.NoError(t, err)
159-
result, err = client.Validate(context.Background(), testutil.GroupSpec(t))
160-
assert.NoError(t, err)
161-
assert.Equal(t, expected, result)
162-
})
163-
mocks.pclient.AssertExpectations(t)
164-
})
165-
166-
t.Run("failure", func(t *testing.T) {
167-
pkey := testutil.Key(t)
168-
ckey := testutil.Key(t)
169-
paddr := sdk.AccAddress(pkey.PubKey().Address())
170-
caddr := sdk.AccAddress(ckey.PubKey().Address())
171-
172-
keys := []cryptotypes.PrivKey{
173-
pkey, ckey,
174-
}
175-
176-
ctx, cancel := context.WithCancel(context.Background())
177-
defer cancel()
178-
179-
mocks := createMocks()
180-
181-
mocks.pclient.On("Validate", mock.Anything, mock.Anything, mock.Anything).Return(apclient.ValidateGroupSpecResult{}, errors.New("oops"))
182-
withServer(ctx, t, keys, mocks.pclient, mocks, func(host string, cquerier *certQuerier) {
183-
cert := testutil.Certificate(t, caddr, testutil.CertificateOptionMocks(mocks.cmocks), testutil.CertificateOptionCache(cquerier))
184-
185-
client, err := apclient.NewClient(context.Background(), paddr, apclient.WithAuthCerts(cert.Cert), apclient.WithProviderURL(host), apclient.WithCertQuerier(cquerier))
186-
assert.NoError(t, err)
187-
_, err = client.Validate(context.Background(), dvbeta.GroupSpec{})
188-
assert.Error(t, err)
189-
_, err = client.Validate(context.Background(), testutil.GroupSpec(t))
190-
assert.Error(t, err)
191-
192-
client, err = apclient.NewClient(context.Background(), paddr, apclient.WithAuthJWTSigner(&testJwtSigner{
193-
key: ckey,
194-
addr: caddr,
195-
}), apclient.WithProviderURL(host), apclient.WithCertQuerier(cquerier))
196-
assert.NoError(t, err)
197-
_, err = client.Validate(context.Background(), dvbeta.GroupSpec{})
198-
assert.Error(t, err)
199-
_, err = client.Validate(context.Background(), testutil.GroupSpec(t))
200-
assert.Error(t, err)
201-
})
202-
mocks.pclient.AssertExpectations(t)
203-
})
204-
}
205-
206123
func Test_router_Manifest(t *testing.T) {
207124
t.Run("success", func(t *testing.T) {
208125
pkey := testutil.Key(t)

gateway/rest/router.go

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
sdk "github.com/cosmos/cosmos-sdk/types"
2424

2525
manifest "pkg.akt.dev/go/manifest/v2beta3"
26-
dvbeta "pkg.akt.dev/go/node/deployment/v1beta4"
2726
mtypes "pkg.akt.dev/go/node/market/v1"
2827
apclient "pkg.akt.dev/go/provider/client"
2928
ajwt "pkg.akt.dev/go/util/jwt"
@@ -111,19 +110,7 @@ func newRouter(log log.Logger, addr sdk.Address, pclient provider.Client, ctxCon
111110
authorizeProviderMiddleware,
112111
requireOwner,
113112
)
114-
115-
// GET /validate
116-
// validate endpoint checks if provider will bid on given groupspec
117-
authedRouter.HandleFunc("/validate",
118-
validateHandler(log, pclient)).
119-
Methods("GET")
120-
121-
// GET /wiboy (aka would I bid on you)
122-
// validate endpoint checks if the provider will bid on a given groupspec
123-
authedRouter.HandleFunc("/wiboy",
124-
validateHandler(log, pclient)).
125-
Methods("GET")
126-
113+
127114
hostnameRouter := authedRouter.PathPrefix(apclient.HostnamePrefix).Subrouter()
128115
hostnameRouter.HandleFunc(apclient.MigratePathPrefix,
129116
migrateHandler(log, pclient.Hostname(), pclient.ClusterService())).
@@ -448,37 +435,6 @@ func createStatusHandler(log log.Logger, sclient provider.StatusClient, provider
448435
}
449436
}
450437

451-
func validateHandler(log log.Logger, cl provider.ValidateClient) http.HandlerFunc {
452-
return func(w http.ResponseWriter, req *http.Request) {
453-
data, err := io.ReadAll(req.Body)
454-
if err != nil {
455-
http.Error(w, err.Error(), http.StatusBadRequest)
456-
return
457-
}
458-
459-
if len(data) == 0 {
460-
http.Error(w, "empty payload", http.StatusBadRequest)
461-
return
462-
}
463-
464-
owner := requestOwner(req)
465-
466-
var gspec dvbeta.GroupSpec
467-
468-
if err := json.Unmarshal(data, &gspec); err != nil {
469-
http.Error(w, err.Error(), http.StatusUnprocessableEntity)
470-
return
471-
}
472-
473-
validate, err := cl.Validate(req.Context(), owner, gspec)
474-
if err != nil {
475-
http.Error(w, err.Error(), http.StatusInternalServerError)
476-
return
477-
}
478-
writeJSON(log, w, validate)
479-
}
480-
}
481-
482438
func createManifestHandler(log log.Logger, mclient pmanifest.Client) http.HandlerFunc {
483439
return func(w http.ResponseWriter, req *http.Request) {
484440
var mani manifest.Manifest

gateway/rest/router_test.go

Lines changed: 0 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -451,115 +451,6 @@ func TestRouteStatusFails(t *testing.T) {
451451
})
452452
}
453453

454-
func TestRouteValidateOK(t *testing.T) {
455-
runRouterTest(t, []routerTestAuth{routerTestAuthCert, routerTestAuthJWT}, func(test *routerTest, hdr http.Header) {
456-
validate := apclient.ValidateGroupSpecResult{
457-
MinBidPrice: testutil.AkashDecCoin(t, 200),
458-
}
459-
460-
test.pclient.On("Validate", mock.Anything, mock.Anything, mock.Anything).Return(validate, nil)
461-
462-
uri, err := apclient.MakeURI(test.host, apclient.ValidatePath())
463-
require.NoError(t, err)
464-
465-
gspec := testutil.GroupSpec(t)
466-
bgspec, err := json.Marshal(&gspec)
467-
require.NoError(t, err)
468-
469-
req, err := http.NewRequest("GET", uri, bytes.NewReader(bgspec))
470-
require.NoError(t, err)
471-
req.Header = hdr
472-
473-
req.Header.Set("Content-Type", contentTypeJSON)
474-
475-
rCl := test.gwclient.NewReqClient(context.Background())
476-
resp, err := rCl.Do(req)
477-
require.NoError(t, err)
478-
require.Equal(t, http.StatusOK, resp.StatusCode)
479-
data := make(map[string]interface{})
480-
decoder := json.NewDecoder(resp.Body)
481-
err = decoder.Decode(&data)
482-
require.NoError(t, err)
483-
})
484-
}
485-
486-
func TestRouteValidateUnauthorized(t *testing.T) {
487-
runRouterTest(t, []routerTestAuth{}, func(test *routerTest, hdr http.Header) {
488-
validate := apclient.ValidateGroupSpecResult{
489-
MinBidPrice: testutil.AkashDecCoin(t, 200),
490-
}
491-
492-
test.pclient.On("Validate", mock.Anything, mock.Anything, mock.Anything).Return(validate, nil)
493-
494-
uri, err := apclient.MakeURI(test.host, apclient.ValidatePath())
495-
require.NoError(t, err)
496-
497-
gspec := testutil.GroupSpec(t)
498-
bgspec, err := json.Marshal(&gspec)
499-
require.NoError(t, err)
500-
501-
req, err := http.NewRequest("GET", uri, bytes.NewReader(bgspec))
502-
require.NoError(t, err)
503-
req.Header = hdr
504-
505-
req.Header.Set("Content-Type", contentTypeJSON)
506-
507-
rCl := test.gwclient.NewReqClient(context.Background())
508-
resp, err := rCl.Do(req)
509-
require.NoError(t, err)
510-
require.Equal(t, http.StatusUnauthorized, resp.StatusCode)
511-
})
512-
}
513-
514-
func TestRouteValidateFails(t *testing.T) {
515-
runRouterTest(t, []routerTestAuth{routerTestAuthCert, routerTestAuthJWT}, func(test *routerTest, hdr http.Header) {
516-
test.pclient.On("Validate", mock.Anything, mock.Anything, mock.Anything).Return(apclient.ValidateGroupSpecResult{}, errGeneric)
517-
518-
uri, err := apclient.MakeURI(test.host, apclient.ValidatePath())
519-
require.NoError(t, err)
520-
521-
gspec := testutil.GroupSpec(t)
522-
bgspec, err := json.Marshal(&gspec)
523-
require.NoError(t, err)
524-
525-
req, err := http.NewRequest("GET", uri, bytes.NewReader(bgspec))
526-
require.NoError(t, err)
527-
req.Header = hdr
528-
529-
req.Header.Set("Content-Type", contentTypeJSON)
530-
rCl := test.gwclient.NewReqClient(context.Background())
531-
resp, err := rCl.Do(req)
532-
require.NoError(t, err)
533-
require.Equal(t, http.StatusInternalServerError, resp.StatusCode)
534-
535-
data, err := io.ReadAll(resp.Body)
536-
require.NoError(t, err)
537-
require.Regexp(t, "^generic test error(?s:.)*$", string(data))
538-
})
539-
}
540-
541-
func TestRouteValidateFailsEmptyBody(t *testing.T) {
542-
runRouterTest(t, []routerTestAuth{routerTestAuthCert, routerTestAuthJWT}, func(test *routerTest, hdr http.Header) {
543-
test.pclient.On("Validate", mock.Anything, mock.Anything).Return(apclient.ValidateGroupSpecResult{}, errGeneric)
544-
545-
uri, err := apclient.MakeURI(test.host, apclient.ValidatePath())
546-
require.NoError(t, err)
547-
548-
req, err := http.NewRequest("GET", uri, nil)
549-
require.NoError(t, err)
550-
req.Header = hdr
551-
req.Header.Set("Content-Type", contentTypeJSON)
552-
rCl := test.gwclient.NewReqClient(context.Background())
553-
resp, err := rCl.Do(req)
554-
require.NoError(t, err)
555-
require.Equal(t, http.StatusBadRequest, resp.StatusCode)
556-
557-
data, err := io.ReadAll(resp.Body)
558-
require.NoError(t, err)
559-
require.Regexp(t, "empty payload", string(data))
560-
})
561-
}
562-
563454
func TestRoutePutManifestOK(t *testing.T) {
564455
runRouterTest(t, []routerTestAuth{routerTestAuthCert, routerTestAuthJWT}, func(test *routerTest, hdr http.Header) {
565456
caddr := sdk.AccAddress(test.ckey.PubKey().Address())

0 commit comments

Comments
 (0)