@@ -32,6 +32,9 @@ describe('Connection', function() {
32
32
conn = new connection . Connection ( {
33
33
keyFilename : path . join ( __dirname , '../testdata/privateKeyFile.json' )
34
34
} ) ;
35
+ conn . requester = function ( opts , callback ) {
36
+ callback ( null ) ;
37
+ } ;
35
38
} ) ;
36
39
37
40
it ( 'should use a private key json file' , function ( done ) {
@@ -62,70 +65,58 @@ describe('Connection', function() {
62
65
} ) ;
63
66
} ) ;
64
67
65
-
66
68
describe ( 'Token' , function ( ) {
67
69
var tokenNeverExpires = new connection . Token ( 'token' , new Date ( 3000 , 0 , 0 ) ) ;
68
70
var tokenExpired = new connection . Token ( 'token' , new Date ( 2011 , 0 , 0 ) ) ;
69
71
70
72
it ( 'should fetch a new token if token expires' , function ( done ) {
71
- var c = new connection . Connection ( {
72
- email : 'x@provider' ,
73
- privateKey : '/some/path' ,
74
- scopes : [ 'scope1' , 'scope2' ]
75
- } ) ;
76
- c . token = tokenExpired ;
77
- c . fetchToken = function ( ) {
73
+ conn . token = tokenExpired ;
74
+ conn . fetchToken = function ( ) {
78
75
done ( ) ;
79
76
} ;
80
- c . requester = function ( opts , callback ) {
81
- callback ( null ) ;
82
- } ;
83
- c . req ( { uri : 'https://someuri' } , function ( ) { } ) ;
77
+ conn . req ( { uri : 'https://someuri' } , function ( ) { } ) ;
84
78
} ) ;
85
79
86
80
it ( 'should make other requests wait while connecting' , function ( done ) {
87
81
var numTokenFetches = 0 ;
88
- var c = new connection . Connection ( {
89
- email : 'x@provider' ,
90
- privateKey : '/some/path' ,
91
- scopes : [ 'scope1' , 'scope2' ]
92
- } ) ;
93
- c . fetchToken = function ( cb ) {
82
+ var requestedUris = [ ] ;
83
+ conn . fetchToken = function ( cb ) {
94
84
numTokenFetches ++ ;
95
85
setImmediate ( function ( ) {
96
86
cb ( null , tokenNeverExpires ) ;
97
87
} ) ;
98
88
} ;
99
- c . requester = function ( opts , callback ) {
89
+ conn . requester = function ( opts , callback ) {
90
+ requestedUris . push ( opts . uri ) ;
100
91
callback ( null ) ;
101
92
} ;
102
-
103
93
async . parallel ( [
104
- function ( done ) { c . req ( { uri : 'https://someuri' } , done ) ; } ,
105
- function ( done ) { c . req ( { uri : 'https://someuri' } , done ) ; } ,
106
- function ( done ) { c . req ( { uri : 'https://someuri' } , done ) ; }
94
+ function ( next ) {
95
+ assert . strictEqual ( conn . isConnecting , false ) ;
96
+ conn . req ( { uri : '1' } , next ) ;
97
+ } ,
98
+ function ( next ) {
99
+ assert . strictEqual ( conn . isConnecting , true ) ;
100
+ conn . req ( { uri : '2' } , next ) ;
101
+ } ,
102
+ function ( next ) {
103
+ conn . req ( { uri : '3' } , next ) ;
104
+ }
107
105
] , function ( err ) {
108
- assert . equal ( err , null ) ;
106
+ assert . ifError ( err ) ;
109
107
assert . equal ( numTokenFetches , 1 ) ;
110
- assert . equal ( c . token , tokenNeverExpires ) ;
108
+ assert . equal ( conn . token , tokenNeverExpires ) ;
109
+ assert . deepEqual ( requestedUris , [ '1' , '2' , '3' ] ) ;
111
110
done ( ) ;
112
111
} ) ;
113
112
} ) ;
114
113
115
114
it ( 'should fetch a new token if token is invalid' , function ( done ) {
116
- var c = new connection . Connection ( {
117
- email : 'x@provider' ,
118
- privateKey : '/some/path' ,
119
- scopes : [ 'scope1' , 'scope2' ]
120
- } ) ;
121
- c . token = new connection . Token ( ) ;
122
- c . fetchToken = function ( ) {
115
+ conn . token = new connection . Token ( ) ;
116
+ conn . fetchToken = function ( ) {
123
117
done ( ) ;
124
118
} ;
125
- c . requester = function ( opts , callback ) {
126
- callback ( null ) ;
127
- } ;
128
- c . req ( { uri : 'https://someuri' } , function ( ) { } ) ;
119
+ conn . req ( { uri : 'https://someuri' } , function ( ) { } ) ;
129
120
} ) ;
130
121
} ) ;
131
122
} ) ;
0 commit comments