1
1
const nock = require ( 'nock' ) ;
2
2
const config = require ( 'config' ) ;
3
+ const assert = require ( 'assert' ) ;
3
4
4
5
const swagger = require ( '../lib/swagger' ) ;
5
6
6
- const apiKey = 'Xmw4bGctRVIQz7R7dQXqH9nQe5d0SPQs' ;
7
+ const key = 'Xmw4bGctRVIQz7R7dQXqH9nQe5d0SPQs' ;
7
8
8
9
describe ( 'swagger command' , ( ) => {
9
10
afterAll ( ( ) => nock . cleanAll ( ) ) ;
10
11
12
+ it ( 'should error if no api key provided' , ( done ) => {
13
+ swagger . run ( {
14
+ args : [ './test/fixtures/swagger.json' ] ,
15
+ opts : { } ,
16
+ } , ( err ) => {
17
+ assert . equal ( err . message , 'No api key provided. Please use --key' ) ;
18
+ return done ( ) ;
19
+ } ) ;
20
+ } ) ;
21
+
22
+ it ( 'should error if no file provided' , ( done ) => {
23
+ swagger . run ( {
24
+ args : [ ] ,
25
+ opts : { key } ,
26
+ } , ( err ) => {
27
+ assert . equal ( err . message , 'No swagger file provided. Usage `rdme swagger <swagger-file>`' ) ;
28
+ return done ( ) ;
29
+ } )
30
+ } ) ;
31
+
11
32
it ( 'should POST to the swagger api if no id provided' , done => {
12
33
const mock = nock ( config . host )
13
34
. post ( '/api/v1/swagger' , body => body . match ( 'form-data; name="swagger"' ) )
14
- . basicAuth ( { user : apiKey } )
35
+ . basicAuth ( { user : key } )
15
36
. reply ( 201 ) ;
16
37
17
38
swagger . run (
18
- { args : [ './test/fixtures/swagger.json' ] , opts : { token : apiKey } } ,
39
+ { args : [ './test/fixtures/swagger.json' ] , opts : { key } } ,
19
40
err => {
20
41
if ( err ) return done ( err ) ;
21
42
mock . done ( ) ;
@@ -29,13 +50,34 @@ describe('swagger command', () => {
29
50
const id = '5aa0409b7cf527a93bfb44df' ;
30
51
const mock = nock ( config . host )
31
52
. put ( `/api/v1/swagger/${ id } ` , body => body . match ( 'form-data; name="swagger"' ) )
32
- . basicAuth ( { user : apiKey } )
53
+ . basicAuth ( { user : key } )
54
+ . reply ( 201 ) ;
55
+
56
+ swagger . run (
57
+ {
58
+ args : [ './test/fixtures/swagger.json' ] ,
59
+ opts : { key, id } ,
60
+ } ,
61
+ err => {
62
+ if ( err ) return done ( err ) ;
63
+ mock . done ( ) ;
64
+
65
+ return done ( ) ;
66
+ } ,
67
+ ) ;
68
+ } ) ;
69
+
70
+ it ( 'should still work with `token`' , done => {
71
+ const id = '5aa0409b7cf527a93bfb44df' ;
72
+ const mock = nock ( config . host )
73
+ . put ( `/api/v1/swagger/${ id } ` , body => body . match ( 'form-data; name="swagger"' ) )
74
+ . basicAuth ( { user : key } )
33
75
. reply ( 201 ) ;
34
76
35
77
swagger . run (
36
78
{
37
79
args : [ './test/fixtures/swagger.json' ] ,
38
- opts : { token : `${ apiKey } -${ id } ` } ,
80
+ opts : { token : `${ key } -${ id } ` } ,
39
81
} ,
40
82
err => {
41
83
if ( err ) return done ( err ) ;
0 commit comments