@@ -28,6 +28,12 @@ describe("GitpodTokenService", async () => {
28
28
let stranger : User ;
29
29
let org : Organization ;
30
30
31
+ const resourceAccessGuard = {
32
+ async canAccess ( ) {
33
+ return true ;
34
+ } ,
35
+ } ;
36
+
31
37
beforeEach ( async ( ) => {
32
38
container = createTestContainer ( ) ;
33
39
Experiments . configureTestingClient ( {
@@ -66,69 +72,110 @@ describe("GitpodTokenService", async () => {
66
72
} ) ;
67
73
68
74
it ( "should generate a new gitpod token" , async ( ) => {
69
- const resp1 = await gs . getGitpodTokens ( member . id , member . id ) ;
75
+ const resp1 = await gs . getGitpodTokens ( member . id , member . id , resourceAccessGuard ) ;
70
76
expect ( resp1 . length ) . to . equal ( 0 ) ;
71
77
72
- await gs . generateNewGitpodToken ( member . id , member . id , { name : "token1" , type : GitpodTokenType . API_AUTH_TOKEN } ) ;
78
+ await gs . generateNewGitpodToken (
79
+ member . id ,
80
+ member . id ,
81
+ { name : "token1" , type : GitpodTokenType . API_AUTH_TOKEN } ,
82
+ resourceAccessGuard ,
83
+ ) ;
73
84
74
- const resp2 = await gs . getGitpodTokens ( member . id , member . id ) ;
85
+ const resp2 = await gs . getGitpodTokens ( member . id , member . id , resourceAccessGuard ) ;
75
86
expect ( resp2 . length ) . to . equal ( 1 ) ;
76
87
77
- await expectError ( ErrorCodes . NOT_FOUND , gs . getGitpodTokens ( stranger . id , member . id ) ) ;
88
+ await expectError ( ErrorCodes . NOT_FOUND , gs . getGitpodTokens ( stranger . id , member . id , resourceAccessGuard ) ) ;
78
89
await expectError (
79
90
ErrorCodes . NOT_FOUND ,
80
- gs . generateNewGitpodToken ( stranger . id , member . id , { name : "token2" , type : GitpodTokenType . API_AUTH_TOKEN } ) ,
91
+ gs . generateNewGitpodToken (
92
+ stranger . id ,
93
+ member . id ,
94
+ { name : "token2" , type : GitpodTokenType . API_AUTH_TOKEN } ,
95
+ resourceAccessGuard ,
96
+ ) ,
81
97
) ;
82
98
} ) ;
83
99
84
100
it ( "should list gitpod tokens" , async ( ) => {
85
- await gs . generateNewGitpodToken ( member . id , member . id , { name : "token1" , type : GitpodTokenType . API_AUTH_TOKEN } ) ;
86
- await gs . generateNewGitpodToken ( member . id , member . id , { name : "token2" , type : GitpodTokenType . API_AUTH_TOKEN } ) ;
101
+ await gs . generateNewGitpodToken (
102
+ member . id ,
103
+ member . id ,
104
+ { name : "token1" , type : GitpodTokenType . API_AUTH_TOKEN } ,
105
+ resourceAccessGuard ,
106
+ ) ;
107
+ await gs . generateNewGitpodToken (
108
+ member . id ,
109
+ member . id ,
110
+ { name : "token2" , type : GitpodTokenType . API_AUTH_TOKEN } ,
111
+ resourceAccessGuard ,
112
+ ) ;
87
113
88
- const tokens = await gs . getGitpodTokens ( member . id , member . id ) ;
114
+ const tokens = await gs . getGitpodTokens ( member . id , member . id , resourceAccessGuard ) ;
89
115
expect ( tokens . length ) . to . equal ( 2 ) ;
90
116
expect ( tokens . some ( ( t ) => t . name === "token1" ) ) . to . be . true ;
91
117
expect ( tokens . some ( ( t ) => t . name === "token2" ) ) . to . be . true ;
92
118
93
- await expectError ( ErrorCodes . NOT_FOUND , gs . getGitpodTokens ( stranger . id , member . id ) ) ;
119
+ await expectError ( ErrorCodes . NOT_FOUND , gs . getGitpodTokens ( stranger . id , member . id , resourceAccessGuard ) ) ;
94
120
} ) ;
95
121
96
122
it ( "should return gitpod token scopes" , async ( ) => {
97
- await gs . generateNewGitpodToken ( member . id , member . id , {
98
- name : "token1" ,
99
- type : GitpodTokenType . API_AUTH_TOKEN ,
100
- scopes : [ "user:email" , "read:user" ] ,
101
- } ) ;
123
+ await gs . generateNewGitpodToken (
124
+ member . id ,
125
+ member . id ,
126
+ {
127
+ name : "token1" ,
128
+ type : GitpodTokenType . API_AUTH_TOKEN ,
129
+ scopes : [ "user:email" , "read:user" ] ,
130
+ } ,
131
+ resourceAccessGuard ,
132
+ ) ;
102
133
103
- const tokens = await gs . getGitpodTokens ( member . id , member . id ) ;
134
+ const tokens = await gs . getGitpodTokens ( member . id , member . id , resourceAccessGuard ) ;
104
135
expect ( tokens . length ) . to . equal ( 1 ) ;
105
136
106
- const scopes = await gs . getGitpodTokenScopes ( member . id , member . id , tokens [ 0 ] . tokenHash ) ;
137
+ const scopes = await gs . getGitpodTokenScopes ( member . id , member . id , tokens [ 0 ] . tokenHash , resourceAccessGuard ) ;
107
138
expect ( scopes . length ) . to . equal ( 2 ) ;
108
139
expect ( scopes . some ( ( s ) => s === "user:email" ) ) . to . be . true ;
109
140
expect ( scopes . some ( ( s ) => s === "read:user" ) ) . to . be . true ;
110
141
111
- await expectError ( ErrorCodes . NOT_FOUND , gs . getGitpodTokenScopes ( stranger . id , member . id , tokens [ 0 ] . tokenHash ) ) ;
142
+ await expectError (
143
+ ErrorCodes . NOT_FOUND ,
144
+ gs . getGitpodTokenScopes ( stranger . id , member . id , tokens [ 0 ] . tokenHash , resourceAccessGuard ) ,
145
+ ) ;
112
146
} ) ;
113
147
114
148
it ( "should delete gitpod tokens" , async ( ) => {
115
- await gs . generateNewGitpodToken ( member . id , member . id , {
116
- name : "token1" ,
117
- type : GitpodTokenType . API_AUTH_TOKEN ,
118
- } ) ;
119
- await gs . generateNewGitpodToken ( member . id , member . id , {
120
- name : "token2" ,
121
- type : GitpodTokenType . API_AUTH_TOKEN ,
122
- } ) ;
149
+ await gs . generateNewGitpodToken (
150
+ member . id ,
151
+ member . id ,
152
+ {
153
+ name : "token1" ,
154
+ type : GitpodTokenType . API_AUTH_TOKEN ,
155
+ } ,
156
+ resourceAccessGuard ,
157
+ ) ;
158
+ await gs . generateNewGitpodToken (
159
+ member . id ,
160
+ member . id ,
161
+ {
162
+ name : "token2" ,
163
+ type : GitpodTokenType . API_AUTH_TOKEN ,
164
+ } ,
165
+ resourceAccessGuard ,
166
+ ) ;
123
167
124
- const tokens = await gs . getGitpodTokens ( member . id , member . id ) ;
168
+ const tokens = await gs . getGitpodTokens ( member . id , member . id , resourceAccessGuard ) ;
125
169
expect ( tokens . length ) . to . equal ( 2 ) ;
126
170
127
- await gs . deleteGitpodToken ( member . id , member . id , tokens [ 0 ] . tokenHash ) ;
171
+ await gs . deleteGitpodToken ( member . id , member . id , tokens [ 0 ] . tokenHash , resourceAccessGuard ) ;
128
172
129
- const tokens2 = await gs . getGitpodTokens ( member . id , member . id ) ;
173
+ const tokens2 = await gs . getGitpodTokens ( member . id , member . id , resourceAccessGuard ) ;
130
174
expect ( tokens2 . length ) . to . equal ( 1 ) ;
131
175
132
- await expectError ( ErrorCodes . NOT_FOUND , gs . deleteGitpodToken ( stranger . id , member . id , tokens [ 1 ] . tokenHash ) ) ;
176
+ await expectError (
177
+ ErrorCodes . NOT_FOUND ,
178
+ gs . deleteGitpodToken ( stranger . id , member . id , tokens [ 1 ] . tokenHash , resourceAccessGuard ) ,
179
+ ) ;
133
180
} ) ;
134
181
} ) ;
0 commit comments