Skip to content

Commit 25ca878

Browse files
authored
added secrets api (#24)
added secrets api
1 parent 9c92ec9 commit 25ca878

File tree

7 files changed

+178
-57
lines changed

7 files changed

+178
-57
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ node_modules
33
.idea
44
reports
55
.DS_Store
6-
coverage
7-
spec/support
6+
coverage

lib/client.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var resources = {
2020
tasks: require('./resources/tasks'),
2121
teams: require('./resources/teams'),
2222
users: require('./resources/users'),
23+
secrets: require('./resources/secrets'),
2324
topics: require('./resources/topics')
2425
};
2526

lib/resources/secrets.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
var Resource = require("../resource.js");
2+
3+
module.exports = Resource.extend({
4+
path: 'workspaces/{workspaceId}/secrets',
5+
6+
retrieve: Resource.method({
7+
path: '/{id}',
8+
apiVersion: 'v2'
9+
})
10+
11+
});

package-lock.json

Lines changed: 86 additions & 54 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "elasticio-rest-node",
33
"description": "elastic.io REST API client",
4-
"version": "1.2.5",
4+
"version": "1.2.6",
55
"author": "elastic.io GmbH <info@elastic.io>",
66
"engines": {
77
"node": ">=12.13.0"

spec/resources/secrets.spec.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
describe('/workspaces', function () {
2+
const client = require("../../lib/client")("root", "secret");
3+
const secrets = client.secrets;
4+
const nock = require('nock');
5+
6+
describe('/{id}/secrets', function() {
7+
describe('/{secretId}', function() {
8+
it('should send request successfully', function (done) {
9+
const response = {
10+
'id': '54f4be3fe7d5224f91000002',
11+
'type': 'auth-secret',
12+
'attributes': {
13+
'name': 'secret-name',
14+
'credentials': {},
15+
'state': 'secret-state'
16+
},
17+
'relationships': {
18+
'workspace': {
19+
'data': {
20+
'id': '54f4be3fe7d5224f91000001',
21+
'type': 'workspace'
22+
},
23+
'links': {
24+
'self': '/v2/workspaces/54f4be3fe7d5224f91000001'
25+
}
26+
},
27+
'user': {
28+
'data': {
29+
'id': '54f4be3fe7d5224f91000003',
30+
'type': 'user'
31+
},
32+
'links': {
33+
'self': '/v2/users/54f4be3fe7d5224f91000003'
34+
}
35+
},
36+
'auth_client': {
37+
'data': {
38+
'id': '54f4be3fe7d5224f91000004',
39+
'type': 'auth-client'
40+
},
41+
'links': {
42+
'self': '/v2/tenants/54f4be3fe7d5224f91000005/auth-clients/54f4be3fe7d5224f91000004'
43+
}
44+
}
45+
},
46+
'links': {
47+
'self': '/v2/workspaces/54f4be3fe7d5224f91000001/secrets/54f4be3fe7d5224f91000002'
48+
}
49+
};
50+
51+
nock('https://api.elastic.io')
52+
.matchHeader('Connection', 'Keep-Alive')
53+
.get('/v2/workspaces/54f4be3fe7d5224f91000001/secrets/54f4be3fe7d5224f91000002')
54+
.basicAuth({
55+
user: 'root',
56+
pass: 'secret'
57+
})
58+
.reply(200, response);
59+
60+
secrets.retrieve('54f4be3fe7d5224f91000001', '54f4be3fe7d5224f91000002')
61+
.then(function (result) {
62+
expect(result).toEqual(response);
63+
})
64+
.then(done)
65+
.catch(done.fail);
66+
});
67+
});
68+
});
69+
});

spec/support/jasmine.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"spec_dir": "spec",
3+
"spec_files": [
4+
"**/*[sS]pec.js"
5+
],
6+
"helpers": [
7+
"helpers/**/*.js"
8+
]
9+
}

0 commit comments

Comments
 (0)