@@ -4,6 +4,7 @@ const { assert } = require('chai');
44const sinon = require ( 'sinon' ) ;
55const mockery = require ( 'mockery' ) ;
66const Joi = require ( 'joi' ) ;
7+ const jwt = require ( 'jsonwebtoken' ) ;
78const DEFAULT_BUILD_TIMEOUT = 90 ; // in minutes
89
910describe ( 'index test' , ( ) => {
@@ -164,12 +165,14 @@ describe('index test', () => {
164165 let options ;
165166 let buildTimeout ;
166167 let fakeResponse ;
168+ let token ;
167169
168170 beforeEach ( ( ) => {
171+ token = jwt . sign ( { scope : [ 'temporal' ] } , 'dummyPrivateKey' ) ;
169172 postConfig = {
170173 buildId : 111 ,
171174 apiUri : 'https://dummy.com' ,
172- token : 'dummyTemporalToken'
175+ token
173176 } ;
174177 buildTimeout = 150 ;
175178 options = {
@@ -205,6 +208,15 @@ describe('index test', () => {
205208 } ) ;
206209 } ) ;
207210
211+ it ( 'does not exchange and return token as it is if it is already build JWT' , async ( ) => {
212+ token = jwt . sign ( { scope : [ 'build' ] } , 'dummyPrivateKey' ) ;
213+ postConfig . token = token ;
214+
215+ await instance . exchangeTokenForBuild ( postConfig ) . then ( ( buildToken ) => {
216+ assert . equal ( postConfig . token , buildToken ) ;
217+ } ) ;
218+ } ) ;
219+
208220 it ( 'returns error if buildTimeout value is invalid' , async ( ) => {
209221 buildTimeout = 'aaa' ;
210222 const returnMessage = `Invalid buildTimeout value: ${ buildTimeout } ` ;
0 commit comments