Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Nomad
Commits
30806f9b
Commit
30806f9b
authored
7 years ago
by
Michael Lange
Browse files
Options
Download
Email Patches
Plain Diff
Add the acl token as a header to client requests
parent
8178f9b7
Branches unavailable
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc.1
v1.4.0-beta.1
v1.3.8
v1.3.7
v1.3.6
v1.3.5
v1.3.4
v1.3.3
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc.1
v1.3.0-beta.1
v1.2.15
v1.2.14
v1.2.13
v1.2.12
v1.2.11
v1.2.10
v1.2.9
v1.2.8
v1.2.7
v1.2.6
v1.2.5
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc1
v1.2.0-beta1
v1.1.18
v1.1.17
v1.1.16
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.1.7
v1.1.6
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.1.0-rc1
v1.1.0-beta1
v1.0.18
v1.0.17
v1.0.16
v1.0.15
v1.0.14
v1.0.13
v1.0.12
v1.0.11
v1.0.10
v1.0.9
v1.0.8
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3
v1.0.2
v1.0.1
v1.0.0
v1.0.0-rc1
v1.0.0-beta3
v1.0.0-beta2
v0.12.12
v0.12.11
v0.12.10
v0.12.9
v0.12.8
v0.12.7
v0.12.6
v0.12.5
v0.12.4
v0.12.4-rc1
v0.12.3
v0.12.2
v0.12.1
v0.12.0
v0.12.0-rc1
v0.12.0-beta2
v0.12.0-beta1
v0.11.8
v0.11.7
v0.11.6
v0.11.5
v0.11.4
v0.11.3
v0.11.2
v0.11.1
v0.11.0
v0.11.0-rc1
v0.11.0-beta2
v0.11.0-beta1
v0.10.9
v0.10.8
v0.10.7
v0.10.6
v0.10.5
v0.10.4
v0.10.4-rc1
v0.10.3
v0.10.2
v0.10.2-rc1
v0.10.1
v0.10.0
v0.10.0-rc1
v0.10.0-connect1
v0.10.0-beta1
v0.9.7
v0.9.6
v0.9.5
v0.9.4
v0.9.4-rc1
v0.9.3
v0.9.2
v0.9.2-rc1
v0.9.1
v0.9.1-rc1
v0.9.0
v0.9.0-rc2
v0.9.0-rc1
v0.9.0-beta3
v0.9.0-beta2
v0.9.0-beta1
v0.8.7
v0.8.7-rc1
v0.8.6
v0.8.5
v0.8.4
v0.8.4-rc1
v0.8.3
v0.8.2
v0.8.1
v0.8.0
v0.8.0-rc1
v0.7.1
v0.7.1-rc1
v0.7.1-rc1+pro
v0.7.1-rc1+ent
v0.7.0
v0.7.0+pro
v0.7.0+ent
v0.7.0-rc3
v0.7.0-rc2
v0.7.0-rc1
nightly
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
ui/app/models/allocation.js
+9
-3
ui/app/models/allocation.js
ui/tests/acceptance/token-test.js
+10
-3
ui/tests/acceptance/token-test.js
with
19 additions
and
6 deletions
+19
-6
ui/app/models/allocation.js
+
9
-
3
View file @
30806f9b
...
@@ -3,12 +3,11 @@ import Model from 'ember-data/model';
...
@@ -3,12 +3,11 @@ import Model from 'ember-data/model';
import
attr
from
'
ember-data/attr
'
;
import
attr
from
'
ember-data/attr
'
;
import
{
belongsTo
}
from
'
ember-data/relationships
'
;
import
{
belongsTo
}
from
'
ember-data/relationships
'
;
import
{
fragment
,
fragmentArray
}
from
'
ember-data-model-fragments/attributes
'
;
import
{
fragment
,
fragmentArray
}
from
'
ember-data-model-fragments/attributes
'
;
import
fetch
from
'
fetch
'
;
import
PromiseObject
from
'
../utils/classes/promise-object
'
;
import
PromiseObject
from
'
../utils/classes/promise-object
'
;
import
timeout
from
'
../utils/timeout
'
;
import
timeout
from
'
../utils/timeout
'
;
import
shortUUIDProperty
from
'
../utils/properties/short-uuid
'
;
import
shortUUIDProperty
from
'
../utils/properties/short-uuid
'
;
const
{
computed
,
RSVP
}
=
Ember
;
const
{
computed
,
RSVP
,
inject
}
=
Ember
;
const
STATUS_ORDER
=
{
const
STATUS_ORDER
=
{
pending
:
1
,
pending
:
1
,
...
@@ -19,6 +18,8 @@ const STATUS_ORDER = {
...
@@ -19,6 +18,8 @@ const STATUS_ORDER = {
};
};
export
default
Model
.
extend
({
export
default
Model
.
extend
({
token
:
inject
.
service
(),
shortId
:
shortUUIDProperty
(
'
id
'
),
shortId
:
shortUUIDProperty
(
'
id
'
),
job
:
belongsTo
(
'
job
'
),
job
:
belongsTo
(
'
job
'
),
node
:
belongsTo
(
'
node
'
),
node
:
belongsTo
(
'
node
'
),
...
@@ -74,7 +75,12 @@ export default Model.extend({
...
@@ -74,7 +75,12 @@ export default Model.extend({
const
url
=
`//
${
this
.
get
(
'
node.httpAddr
'
)}
/v1/client/allocation/
${
this
.
get
(
'
id
'
)}
/stats`
;
const
url
=
`//
${
this
.
get
(
'
node.httpAddr
'
)}
/v1/client/allocation/
${
this
.
get
(
'
id
'
)}
/stats`
;
return
PromiseObject
.
create
({
return
PromiseObject
.
create
({
promise
:
RSVP
.
Promise
.
race
([
fetch
(
url
).
then
(
res
=>
res
.
json
()),
timeout
(
2000
)]),
promise
:
RSVP
.
Promise
.
race
([
this
.
get
(
'
token
'
)
.
authorizedRequest
(
url
)
.
then
(
res
=>
res
.
json
()),
timeout
(
2000
),
]),
});
});
}),
}),
...
...
This diff is collapsed.
Click to expand it.
ui/tests/acceptance/token-test.js
+
10
-
3
View file @
30806f9b
...
@@ -48,7 +48,7 @@ test('the X-Nomad-Token header gets sent with requests once it is set', function
...
@@ -48,7 +48,7 @@ test('the X-Nomad-Token header gets sent with requests once it is set', function
assert
.
ok
(
server
.
pretender
.
handledRequests
.
length
>
1
,
'
Requests have been made
'
);
assert
.
ok
(
server
.
pretender
.
handledRequests
.
length
>
1
,
'
Requests have been made
'
);
server
.
pretender
.
handledRequests
.
forEach
(
req
=>
{
server
.
pretender
.
handledRequests
.
forEach
(
req
=>
{
assert
.
notOk
(
req
.
reques
tHeader
s
[
'
X-Nomad-Token
'
]
,
`No token for
${
req
.
url
}
`
);
assert
.
notOk
(
ge
tHeader
(
req
,
'
X-Nomad-Token
'
)
,
`No token for
${
req
.
url
}
`
);
});
});
requestPosition
=
server
.
pretender
.
handledRequests
.
length
;
requestPosition
=
server
.
pretender
.
handledRequests
.
length
;
...
@@ -68,8 +68,8 @@ test('the X-Nomad-Token header gets sent with requests once it is set', function
...
@@ -68,8 +68,8 @@ test('the X-Nomad-Token header gets sent with requests once it is set', function
assert
.
ok
(
newRequests
.
length
>
1
,
'
New requests have been made
'
);
assert
.
ok
(
newRequests
.
length
>
1
,
'
New requests have been made
'
);
// Cross-origin requests can't have a token
// Cross-origin requests can't have a token
newRequests
.
filter
(
req
=>
!
req
.
url
.
startsWith
(
'
//
'
)).
forEach
(
req
=>
{
newRequests
.
forEach
(
req
=>
{
assert
.
equal
(
req
.
reques
tHeader
s
[
'
X-Nomad-Token
'
]
,
secretId
,
`Token set for
${
req
.
url
}
`
);
assert
.
equal
(
ge
tHeader
(
req
,
'
X-Nomad-Token
'
)
,
secretId
,
`Token set for
${
req
.
url
}
`
);
});
});
});
});
});
});
...
@@ -199,3 +199,10 @@ test('setting a token clears the store', function(assert) {
...
@@ -199,3 +199,10 @@ test('setting a token clears the store', function(assert) {
// If jobs are lingering in the store, they would show up
// If jobs are lingering in the store, they would show up
assert
.
notOk
(
find
(
'
.job-row
'
),
'
No jobs found
'
);
assert
.
notOk
(
find
(
'
.job-row
'
),
'
No jobs found
'
);
});
});
function
getHeader
({
requestHeaders
},
name
)
{
// Headers are case-insensitive, but object property look up is not
return
(
requestHeaders
[
name
]
||
requestHeaders
[
name
.
toLowerCase
()]
||
requestHeaders
[
name
.
toUpperCase
()]
);
}
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help