@@ -19,6 +19,7 @@ import nodesAdd from '@/client/service/nodesAdd';
1919import * as nodesPB from '@/proto/js/polykey/v1/nodes/nodes_pb' ;
2020import * as utilsPB from '@/proto/js/polykey/v1/utils/utils_pb' ;
2121import { utils as nodesUtils } from '@/nodes' ;
22+ import * as validationErrors from '@/validation/errors' ;
2223import * as testUtils from '../../utils' ;
2324
2425describe ( 'nodesAdd' , ( ) => {
@@ -155,4 +156,37 @@ describe('nodesAdd', () => {
155156 expect ( result ! . host ) . toBe ( '127.0.0.1' ) ;
156157 expect ( result ! . port ) . toBe ( 11111 ) ;
157158 } ) ;
159+ test ( 'cannot add invalid node' , async ( ) => {
160+ // Invalid host
161+ const addressMessage = new nodesPB . Address ( ) ;
162+ addressMessage . setHost ( '' ) ;
163+ addressMessage . setPort ( 11111 ) ;
164+ const request = new nodesPB . NodeAddress ( ) ;
165+ request . setNodeId ( 'vrsc24a1er424epq77dtoveo93meij0pc8ig4uvs9jbeld78n9nl0' ) ;
166+ request . setAddress ( addressMessage ) ;
167+ await expect (
168+ grpcClient . nodesAdd (
169+ request ,
170+ clientUtils . encodeAuthFromPassword ( password ) ,
171+ ) ,
172+ ) . rejects . toThrow ( validationErrors . ErrorValidation ) ;
173+ // Invalid port
174+ addressMessage . setHost ( '127.0.0.1' ) ;
175+ addressMessage . setPort ( 111111 ) ;
176+ await expect (
177+ grpcClient . nodesAdd (
178+ request ,
179+ clientUtils . encodeAuthFromPassword ( password ) ,
180+ ) ,
181+ ) . rejects . toThrow ( validationErrors . ErrorValidation ) ;
182+ // Invalid nodeid
183+ addressMessage . setPort ( 11111 ) ;
184+ request . setNodeId ( 'nodeId' ) ;
185+ await expect (
186+ grpcClient . nodesAdd (
187+ request ,
188+ clientUtils . encodeAuthFromPassword ( password ) ,
189+ ) ,
190+ ) . rejects . toThrow ( validationErrors . ErrorValidation ) ;
191+ } ) ;
158192} ) ;
0 commit comments