Skip to content

Commit

Permalink
Add refresh token to wave request [ci fast]
Browse files Browse the repository at this point in the history
Signed-off-by: Paolo Di Tommaso <[email protected]>
  • Loading branch information
pditommaso committed Jan 23, 2023
1 parent fe24b42 commit 47a7408
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ class SubmitContainerTokenRequest {
*/
String towerAccessToken

/**
* Tower refresh token
*/
String towerRefreshToken

/**
* Tower workspace id
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ class WaveClient {
SubmitContainerTokenResponse sendRequest(WaveAssets assets) {
final req = makeRequest(assets)
req.towerAccessToken = tower.accessToken
req.towerRefreshToken = tower.refreshToken
req.towerWorkspaceId = tower.workspaceId
req.towerEndpoint = tower.endpoint
return sendRequest(req)
Expand Down Expand Up @@ -174,6 +175,7 @@ class WaveClient {

// set the request access token
request.towerAccessToken = accessToken
request.towerRefreshToken = refreshToken

final body = JsonOutput.toJson(request)
final uri = URI.create("${endpoint}/container-token")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,31 @@ class WaveClientTest extends Specification {

}

def 'should send request with tower access token and refresh token' () {
given:
SysEnv.push([TOWER_WORKFLOW_ID:'1234', TOWER_REFRESH_TOKEN: 'xyz', TOWER_ACCESS_TOKEN: 'foo'])
and:
def config = [wave:[:], tower:[endpoint: 'http://foo.com']]
def sess = Mock(Session) {getConfig() >> config }
and:
def wave = Spy(new WaveClient(sess))
def assets = Mock(WaveAssets)
def request = new SubmitContainerTokenRequest()
when:
wave.sendRequest(assets)
then:
1 * wave.makeRequest(assets) >> request
1 * wave.sendRequest(request) >> { List it ->
assert (it[0] == request)
assert (it[0] as SubmitContainerTokenRequest).towerAccessToken == 'foo'
assert (it[0] as SubmitContainerTokenRequest).towerRefreshToken == 'xyz'
assert (it[0] as SubmitContainerTokenRequest).towerEndpoint == 'http://foo.com'
}

cleanup:
SysEnv.pop()
}

// --== launch web server ==--
@Shared
def CONFIG_RESP = [
Expand Down

0 comments on commit 47a7408

Please sign in to comment.