k2hr3-api 1.0.42 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/k2hr3-init.sh.templ +4 -4
- package/dist/.gitkeep +0 -0
- package/dist/src/app.js +262 -0
- package/{bin → dist/src/bin}/run.sh +1 -1
- package/dist/src/bin/watcher.js +113 -0
- package/dist/src/bin/www.js +217 -0
- package/dist/src/lib/basicipcheck.js +392 -0
- package/dist/src/lib/cacerts.js +106 -0
- package/dist/src/lib/dbglogging.js +190 -0
- package/dist/src/lib/dummyuserapi.js +719 -0
- package/dist/src/lib/ipwatch.js +354 -0
- package/dist/src/lib/k2hr3acrutil.js +532 -0
- package/dist/src/lib/k2hr3apiutil.js +1444 -0
- package/dist/src/lib/k2hr3cliutil.js +183 -0
- package/dist/src/lib/k2hr3config.js +832 -0
- package/dist/src/lib/k2hr3cryptutil.js +258 -0
- package/dist/src/lib/k2hr3dkc.js +12121 -0
- package/dist/src/lib/k2hr3extdata.js +198 -0
- package/dist/src/lib/k2hr3keys.js +207 -0
- package/dist/src/lib/k2hr3resutil.js +111 -0
- package/dist/src/lib/k2hr3template.js +6546 -0
- package/dist/src/lib/k2hr3tokens.js +2643 -0
- package/dist/src/lib/k2hr3userdata.js +296 -0
- package/dist/src/lib/k8soidc.js +1000 -0
- package/dist/src/lib/openstackapiv2.js +695 -0
- package/dist/src/lib/openstackapiv3.js +932 -0
- package/dist/src/lib/openstackep.js +667 -0
- package/{tests/auto_common.js → dist/src/lib/types.js} +4 -38
- package/dist/src/routes/acr.js +704 -0
- package/dist/src/routes/debugVerify.js +294 -0
- package/dist/src/routes/extdata.js +219 -0
- package/dist/src/routes/list.js +264 -0
- package/dist/src/routes/policy.js +840 -0
- package/dist/src/routes/resource.js +1489 -0
- package/dist/src/routes/role.js +2627 -0
- package/dist/src/routes/service.js +908 -0
- package/dist/src/routes/tenant.js +1141 -0
- package/dist/src/routes/userTokens.js +482 -0
- package/dist/src/routes/userdata.js +212 -0
- package/dist/src/routes/version.js +103 -0
- package/package.json +152 -121
- package/ChangeLog +0 -378
- package/app.js +0 -292
- package/bin/watcher +0 -122
- package/bin/www +0 -180
- package/eslint.config.mjs +0 -68
- package/lib/basicipcheck.js +0 -376
- package/lib/cacerts.js +0 -71
- package/lib/dbglogging.js +0 -151
- package/lib/dummyuserapi.js +0 -766
- package/lib/ipwatch.js +0 -379
- package/lib/k2hr3acrutil.js +0 -516
- package/lib/k2hr3apiutil.js +0 -1494
- package/lib/k2hr3cliutil.js +0 -191
- package/lib/k2hr3config.js +0 -826
- package/lib/k2hr3cryptutil.js +0 -254
- package/lib/k2hr3dkc.js +0 -12632
- package/lib/k2hr3extdata.js +0 -198
- package/lib/k2hr3keys.js +0 -234
- package/lib/k2hr3resutil.js +0 -100
- package/lib/k2hr3template.js +0 -6925
- package/lib/k2hr3tokens.js +0 -2799
- package/lib/k2hr3userdata.js +0 -312
- package/lib/k8soidc.js +0 -1012
- package/lib/openstackapiv2.js +0 -764
- package/lib/openstackapiv3.js +0 -1032
- package/lib/openstackep.js +0 -553
- package/routes/acr.js +0 -738
- package/routes/debugVerify.js +0 -263
- package/routes/extdata.js +0 -232
- package/routes/list.js +0 -270
- package/routes/policy.js +0 -869
- package/routes/resource.js +0 -1441
- package/routes/role.js +0 -2664
- package/routes/service.js +0 -894
- package/routes/tenant.js +0 -1095
- package/routes/userTokens.js +0 -511
- package/routes/userdata.js +0 -218
- package/routes/version.js +0 -108
- package/templ/Dockerfile.templ +0 -71
- package/tests/auto_acr.js +0 -1101
- package/tests/auto_acr_spec.js +0 -79
- package/tests/auto_all_spec.js +0 -142
- package/tests/auto_control_subprocess.sh +0 -243
- package/tests/auto_extdata.js +0 -220
- package/tests/auto_extdata_spec.js +0 -79
- package/tests/auto_init_config_json.sh +0 -275
- package/tests/auto_k2hdkc_server.ini +0 -109
- package/tests/auto_k2hdkc_slave.ini +0 -83
- package/tests/auto_list.js +0 -439
- package/tests/auto_list_spec.js +0 -79
- package/tests/auto_policy.js +0 -1579
- package/tests/auto_policy_spec.js +0 -79
- package/tests/auto_resource.js +0 -10956
- package/tests/auto_resource_spec.js +0 -79
- package/tests/auto_role.js +0 -6150
- package/tests/auto_role_spec.js +0 -79
- package/tests/auto_service.js +0 -770
- package/tests/auto_service_spec.js +0 -79
- package/tests/auto_subprocesses.js +0 -114
- package/tests/auto_template.sh +0 -126
- package/tests/auto_tenant.js +0 -1100
- package/tests/auto_tenant_spec.js +0 -79
- package/tests/auto_token_util.js +0 -219
- package/tests/auto_userdata.js +0 -292
- package/tests/auto_userdata_spec.js +0 -79
- package/tests/auto_usertokens.js +0 -565
- package/tests/auto_usertokens_spec.js +0 -79
- package/tests/auto_version.js +0 -127
- package/tests/auto_version_spec.js +0 -79
- package/tests/auto_watcher.js +0 -157
- package/tests/auto_watcher_spec.js +0 -79
- package/tests/k2hdkc_test.data +0 -986
- package/tests/k2hdkc_test_load.sh +0 -255
- package/tests/k2hr3template_test.js +0 -187
- package/tests/k2hr3template_test.sh +0 -339
- package/tests/k2hr3template_test_async.js +0 -216
- package/tests/k2hr3template_test_template.result +0 -7117
- package/tests/k2hr3template_test_template.txt +0 -3608
- package/tests/k2hr3template_test_vars.js +0 -194
- package/tests/manual_acr_delete.js +0 -143
- package/tests/manual_acr_get.js +0 -297
- package/tests/manual_acr_postput.js +0 -215
- package/tests/manual_allusertenant_get.js +0 -113
- package/tests/manual_extdata_get.js +0 -191
- package/tests/manual_k2hr3keys_get.js +0 -84
- package/tests/manual_list_gethead.js +0 -230
- package/tests/manual_policy_delete.js +0 -132
- package/tests/manual_policy_gethead.js +0 -275
- package/tests/manual_policy_postput.js +0 -297
- package/tests/manual_resource_delete.js +0 -433
- package/tests/manual_resource_gethead.js +0 -423
- package/tests/manual_resource_postput.js +0 -487
- package/tests/manual_role_delete.js +0 -404
- package/tests/manual_role_gethead.js +0 -547
- package/tests/manual_role_postput.js +0 -544
- package/tests/manual_service_delete.js +0 -153
- package/tests/manual_service_gethead.js +0 -178
- package/tests/manual_service_postput.js +0 -348
- package/tests/manual_tenant_delete.js +0 -186
- package/tests/manual_tenant_gethead.js +0 -268
- package/tests/manual_tenant_postput.js +0 -293
- package/tests/manual_test.sh +0 -352
- package/tests/manual_userdata_get.js +0 -173
- package/tests/manual_usertoken_gethead.js +0 -136
- package/tests/manual_usertoken_postput.js +0 -310
- package/tests/manual_version_get.js +0 -127
- package/tests/run_local_test_k2hdkc.sh +0 -174
- package/tests/test.sh +0 -333
package/tests/auto_version.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* K2HR3 REST API
|
|
3
|
-
*
|
|
4
|
-
* Copyright 2017 Yahoo Japan Corporation.
|
|
5
|
-
*
|
|
6
|
-
* K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
|
|
7
|
-
* common management information for the cloud.
|
|
8
|
-
* K2HR3 can dynamically manage information as "who", "what", "operate".
|
|
9
|
-
* These are stored as roles, resources, policies in K2hdkc, and the
|
|
10
|
-
* client system can dynamically read and modify these information.
|
|
11
|
-
*
|
|
12
|
-
* For the full copyright and license information, please view
|
|
13
|
-
* the license file that was distributed with this source code.
|
|
14
|
-
*
|
|
15
|
-
* AUTHOR: Takeshi Nakatani
|
|
16
|
-
* CREATE: Tue Dec 19 2017
|
|
17
|
-
* REVISION:
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
'use strict';
|
|
22
|
-
|
|
23
|
-
var common = require('./auto_common'); // Common objects for Chai
|
|
24
|
-
var chai = common.chai;
|
|
25
|
-
var chaiHttp = common.chaiHttp; // eslint-disable-line no-unused-vars
|
|
26
|
-
var app = common.app;
|
|
27
|
-
var assert = common.assert; // eslint-disable-line no-unused-vars
|
|
28
|
-
var expect = common.expect;
|
|
29
|
-
|
|
30
|
-
//--------------------------------------------------------------
|
|
31
|
-
// Main describe section
|
|
32
|
-
//--------------------------------------------------------------
|
|
33
|
-
describe('API : VERSION', function(){ // eslint-disable-line no-undef
|
|
34
|
-
//
|
|
35
|
-
// Before in describe section
|
|
36
|
-
//
|
|
37
|
-
before(function(){ // eslint-disable-line no-undef
|
|
38
|
-
// Nothing to do
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
//
|
|
42
|
-
// After in describe section
|
|
43
|
-
//
|
|
44
|
-
after(function(){ // eslint-disable-line no-undef
|
|
45
|
-
// Nothing to do
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
//
|
|
49
|
-
// Run Test
|
|
50
|
-
//
|
|
51
|
-
it('GET / with status 200', function(done){ // eslint-disable-line no-undef
|
|
52
|
-
chai.request(app)
|
|
53
|
-
.get('/')
|
|
54
|
-
.set('content-type', 'application/json')
|
|
55
|
-
.end(function(err, res){
|
|
56
|
-
expect(res).to.have.status(200);
|
|
57
|
-
expect(res).to.be.json;
|
|
58
|
-
expect(res.body).to.be.an('object').to.deep.include({
|
|
59
|
-
version: ['v1']
|
|
60
|
-
});
|
|
61
|
-
done();
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
it('GET /v1 with status 200', function(done){ // eslint-disable-line no-undef
|
|
66
|
-
chai.request(app)
|
|
67
|
-
.get('/v1')
|
|
68
|
-
.set('content-type', 'application/json')
|
|
69
|
-
.end(function(err, res){
|
|
70
|
-
expect(res).to.have.status(200);
|
|
71
|
-
expect(res).to.be.json;
|
|
72
|
-
|
|
73
|
-
expect(res.body).to.be.an('object').to.deep.include({
|
|
74
|
-
'version': {
|
|
75
|
-
'/': ['GET'],
|
|
76
|
-
'/v1': ['GET']
|
|
77
|
-
},
|
|
78
|
-
'user token': {
|
|
79
|
-
'/v1/user/tokens': ['HEAD', 'GET', 'POST']
|
|
80
|
-
},
|
|
81
|
-
'host': {
|
|
82
|
-
'/v1/host': ['GET', 'PUT', 'POST', 'DELETE'],
|
|
83
|
-
'/v1/host/{port}': ['PUT', 'POST', 'DELETE'],
|
|
84
|
-
'/v1/host/FQDN': ['DELETE'],
|
|
85
|
-
'/v1/host/FQDN:{port}': ['DELETE'],
|
|
86
|
-
'/v1/host/IP': ['DELETE'],
|
|
87
|
-
'/v1/host/IP:{port}': ['DELETE']
|
|
88
|
-
},
|
|
89
|
-
'service': {
|
|
90
|
-
'/v1/service': ['PUT', 'POST'],
|
|
91
|
-
'/v1/service/{service}': ['GET', 'HEAD', 'PUT', 'POST', 'DELETE']
|
|
92
|
-
},
|
|
93
|
-
'role': {
|
|
94
|
-
'/v1/role': ['PUT', 'POST'],
|
|
95
|
-
'/v1/role/{role}': ['HEAD', 'GET', 'PUT', 'POST', 'DELETE'],
|
|
96
|
-
'/v1/role/token/{role}': ['GET']
|
|
97
|
-
},
|
|
98
|
-
'resource': {
|
|
99
|
-
'/v1/resource': ['PUT', 'POST'],
|
|
100
|
-
'/v1/resource/{resource}': ['HEAD', 'GET', 'DELETE']
|
|
101
|
-
},
|
|
102
|
-
'policy': {
|
|
103
|
-
'/v1/policy': ['PUT', 'POST'],
|
|
104
|
-
'/v1/policy/{policy}': ['HEAD', 'GET', 'DELETE']
|
|
105
|
-
},
|
|
106
|
-
'list': {
|
|
107
|
-
'/v1/list': ['HEAD', 'GET'],
|
|
108
|
-
'/v1/list/{role, resource, policy}/{path}': ['HEAD', 'GET']
|
|
109
|
-
},
|
|
110
|
-
'acr': {
|
|
111
|
-
'/v1/acr/{service}': ['GET', 'PUT', 'POST', 'DELETE']
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
done();
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
/*
|
|
121
|
-
* Local variables:
|
|
122
|
-
* tab-width: 4
|
|
123
|
-
* c-basic-offset: 4
|
|
124
|
-
* End:
|
|
125
|
-
* vim600: noexpandtab sw=4 ts=4 fdm=marker
|
|
126
|
-
* vim<600: noexpandtab sw=4 ts=4
|
|
127
|
-
*/
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* K2HR3 REST API
|
|
3
|
-
*
|
|
4
|
-
* Copyright 2017 Yahoo Japan Corporation.
|
|
5
|
-
*
|
|
6
|
-
* K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
|
|
7
|
-
* common management information for the cloud.
|
|
8
|
-
* K2HR3 can dynamically manage information as "who", "what", "operate".
|
|
9
|
-
* These are stored as roles, resources, policies in K2hdkc, and the
|
|
10
|
-
* client system can dynamically read and modify these information.
|
|
11
|
-
*
|
|
12
|
-
* For the full copyright and license information, please view
|
|
13
|
-
* the license file that was distributed with this source code.
|
|
14
|
-
*
|
|
15
|
-
* AUTHOR: Takeshi Nakatani
|
|
16
|
-
* CREATE: Tue Dec 19 2017
|
|
17
|
-
* REVISION:
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
'use strict';
|
|
22
|
-
|
|
23
|
-
var common = require('./auto_common'); // Common objects for Chai
|
|
24
|
-
var chai = common.chai; // eslint-disable-line no-unused-vars
|
|
25
|
-
var chaiHttp = common.chaiHttp; // eslint-disable-line no-unused-vars
|
|
26
|
-
var app = common.app; // eslint-disable-line no-unused-vars
|
|
27
|
-
var assert = common.assert; // eslint-disable-line no-unused-vars
|
|
28
|
-
var expect = common.expect; // eslint-disable-line no-unused-vars
|
|
29
|
-
var subproc = require('./auto_subprocesses');
|
|
30
|
-
|
|
31
|
-
//--------------------------------------------------------------
|
|
32
|
-
// Before in global section
|
|
33
|
-
//--------------------------------------------------------------
|
|
34
|
-
before(function(){ // eslint-disable-line no-undef
|
|
35
|
-
//
|
|
36
|
-
// Start all sub processes
|
|
37
|
-
//
|
|
38
|
-
subproc.start(this);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
//--------------------------------------------------------------
|
|
42
|
-
// After in global section
|
|
43
|
-
//--------------------------------------------------------------
|
|
44
|
-
after(function(){ // eslint-disable-line no-undef
|
|
45
|
-
//
|
|
46
|
-
// Stop all sub processes
|
|
47
|
-
//
|
|
48
|
-
subproc.stop(this);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
//--------------------------------------------------------------
|
|
52
|
-
// BeforeEach in global section
|
|
53
|
-
//--------------------------------------------------------------
|
|
54
|
-
beforeEach(function(){ // eslint-disable-line no-undef
|
|
55
|
-
// Nothing to do
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
//--------------------------------------------------------------
|
|
59
|
-
// AfterEach in global section
|
|
60
|
-
//--------------------------------------------------------------
|
|
61
|
-
afterEach(function(){ // eslint-disable-line no-undef
|
|
62
|
-
// Nothing to do
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
//--------------------------------------------------------------
|
|
66
|
-
// Sub describe section
|
|
67
|
-
//--------------------------------------------------------------
|
|
68
|
-
describe('SUB API TEST: VERSION', function(){ // eslint-disable-line no-undef
|
|
69
|
-
require('./auto_version');
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
/*
|
|
73
|
-
* Local variables:
|
|
74
|
-
* tab-width: 4
|
|
75
|
-
* c-basic-offset: 4
|
|
76
|
-
* End:
|
|
77
|
-
* vim600: noexpandtab sw=4 ts=4 fdm=marker
|
|
78
|
-
* vim<600: noexpandtab sw=4 ts=4
|
|
79
|
-
*/
|
package/tests/auto_watcher.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* K2HR3 REST API
|
|
3
|
-
*
|
|
4
|
-
* Copyright 2017 Yahoo Japan Corporation.
|
|
5
|
-
*
|
|
6
|
-
* K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
|
|
7
|
-
* common management information for the cloud.
|
|
8
|
-
* K2HR3 can dynamically manage information as "who", "what", "operate".
|
|
9
|
-
* These are stored as roles, resources, policies in K2hdkc, and the
|
|
10
|
-
* client system can dynamically read and modify these information.
|
|
11
|
-
*
|
|
12
|
-
* For the full copyright and license information, please view
|
|
13
|
-
* the license file that was distributed with this source code.
|
|
14
|
-
*
|
|
15
|
-
* AUTHOR: Takeshi Nakatani
|
|
16
|
-
* CREATE: Thu Oct 25 2018
|
|
17
|
-
* REVISION:
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
'use strict';
|
|
22
|
-
|
|
23
|
-
var common = require('./auto_common'); // Common objects for Chai
|
|
24
|
-
var chai = common.chai;
|
|
25
|
-
var chaiHttp = common.chaiHttp; // eslint-disable-line no-unused-vars
|
|
26
|
-
var app = common.app;
|
|
27
|
-
var assert = common.assert; // eslint-disable-line no-unused-vars
|
|
28
|
-
var expect = common.expect;
|
|
29
|
-
var tokenutil = require('./auto_token_util'); // Token utility
|
|
30
|
-
var watchobj = require('../lib/ipwatch'); // Watcher process library
|
|
31
|
-
|
|
32
|
-
//--------------------------------------------------------------
|
|
33
|
-
// Main describe section
|
|
34
|
-
//--------------------------------------------------------------
|
|
35
|
-
describe('PROCESS : WATHCER', function(){ // eslint-disable-line no-undef
|
|
36
|
-
//
|
|
37
|
-
// Common data
|
|
38
|
-
//
|
|
39
|
-
var alltokens = {};
|
|
40
|
-
|
|
41
|
-
//
|
|
42
|
-
// Before in describe section
|
|
43
|
-
//
|
|
44
|
-
before(function(done){ // eslint-disable-line no-undef
|
|
45
|
-
tokenutil.before(this, alltokens, done);
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
//
|
|
49
|
-
// After in describe section
|
|
50
|
-
//
|
|
51
|
-
after(function(){ // eslint-disable-line no-undef
|
|
52
|
-
// Nothing to do
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
// Run Test(RUN - WATCHER)
|
|
57
|
-
//
|
|
58
|
-
it('RUN WATCHER : run watcher process(lib) oneshot with result null', function(done){ // eslint-disable-line no-undef
|
|
59
|
-
new Promise(function(resolve, reject) // promise object is used
|
|
60
|
-
{
|
|
61
|
-
watchobj.watchAddressesAlive(function(result)
|
|
62
|
-
{
|
|
63
|
-
if(undefined != result && null != result && 'boolean' == typeof result && result){
|
|
64
|
-
resolve(true);
|
|
65
|
-
}else{
|
|
66
|
-
reject(new Error('something error occurred'));
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}).then(function(res){
|
|
70
|
-
expect(res).to.be.a('boolean').to.be.true; // oneshot watcher result must be true
|
|
71
|
-
}).then(done, done);
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
//
|
|
75
|
-
// Run Test(GET - ROLE:IP - SUCCESS)
|
|
76
|
-
//
|
|
77
|
-
it('CHECK WATCHER RESULT : get auto_test_role role which has only two IP addresses with response 200', function(done){ // eslint-disable-line no-undef
|
|
78
|
-
var uri = '/v1/role';
|
|
79
|
-
uri += '/auto_test_role'; // path: yrn:yahoo:::tenant0:role:auto_test_role
|
|
80
|
-
uri += '?expand=false'; // expand: false
|
|
81
|
-
|
|
82
|
-
chai.request(app)
|
|
83
|
-
.get(uri)
|
|
84
|
-
.set('content-type', 'application/json')
|
|
85
|
-
.set('x-auth-token', alltokens.scopedtoken.tenant0) // tenant0
|
|
86
|
-
.end(function(err, res){
|
|
87
|
-
expect(res).to.have.status(200);
|
|
88
|
-
expect(res).to.be.json;
|
|
89
|
-
expect(res.body).to.be.an('object');
|
|
90
|
-
expect(res.body.result).to.be.a('boolean').to.be.true;
|
|
91
|
-
expect(res.body.message).to.be.a('null');
|
|
92
|
-
expect(res.body.role).to.be.an('object');
|
|
93
|
-
expect(res.body.role.hosts).to.be.an('object');
|
|
94
|
-
expect(res.body.role.hosts.hostnames).to.be.an.instanceof(Array).to.have.lengthOf(0);
|
|
95
|
-
expect(res.body.role.hosts.ips).to.be.an.instanceof(Array).to.have.lengthOf(2);
|
|
96
|
-
expect(res.body.role.hosts.ips[0]).to.be.a('string').to.equal('127.0.0.1 * auto-test-cuk openstack-auto-v1');
|
|
97
|
-
expect(res.body.role.hosts.ips[1]).to.be.a('string').to.equal('255.255.255.1 * auto-test-cuk openstack-auto-v1');
|
|
98
|
-
|
|
99
|
-
done();
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
it('CHECK WATCHER RESULT : get k8s_test_role role which has only two IP addresses with response 200', function(done){ // eslint-disable-line no-undef
|
|
104
|
-
var uri = '/v1/role';
|
|
105
|
-
uri += '/k8s_test_role'; // path: yrn:yahoo:::tenant0:role:k8s_test_role
|
|
106
|
-
uri += '?expand=false'; // expand: false
|
|
107
|
-
|
|
108
|
-
chai.request(app)
|
|
109
|
-
.get(uri)
|
|
110
|
-
.set('content-type', 'application/json')
|
|
111
|
-
.set('x-auth-token', alltokens.scopedtoken.tenant0) // tenant0
|
|
112
|
-
.end(function(err, res){
|
|
113
|
-
expect(res).to.have.status(200);
|
|
114
|
-
expect(res).to.be.json;
|
|
115
|
-
expect(res.body).to.be.an('object');
|
|
116
|
-
expect(res.body.result).to.be.a('boolean').to.be.true;
|
|
117
|
-
expect(res.body.message).to.be.a('null');
|
|
118
|
-
expect(res.body.role).to.be.an('object');
|
|
119
|
-
expect(res.body.role.hosts).to.be.an('object');
|
|
120
|
-
expect(res.body.role.hosts.hostnames).to.be.an.instanceof(Array).to.have.lengthOf(0);
|
|
121
|
-
expect(res.body.role.hosts.ips).to.be.an.instanceof(Array);
|
|
122
|
-
|
|
123
|
-
if(3 == res.body.role.hosts.ips.length){
|
|
124
|
-
// when run test:all, array is 3
|
|
125
|
-
expect(res.body.role.hosts.ips).to.be.an.instanceof(Array).to.have.lengthOf(3);
|
|
126
|
-
expect(res.body.role.hosts.ips[0]).to.be.a('string').to.equal('255.255.127.1 * eyJrOHNfY29udGFpbmVyX2lkIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEiLCJrOHNfazJocjNfcmFuZCI6ImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIiwiazhzX25hbWVzcGFjZSI6ImF1dG8tdGVzdC1uYW1lc3BhY2UiLCJrOHNfbm9kZV9pcCI6IjI1NS4yNTUuMTI3LjEiLCJrOHNfbm9kZV9uYW1lIjoiYXV0by10ZXN0LW5vZGUtMSIsIms4c19wb2RfaWQiOiJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIsIms4c19wb2RfaXAiOiIyNTUuMTI3LjEyNy4xIiwiazhzX3BvZF9uYW1lIjoiYXV0by10ZXN0LXBvZC0xIiwiazhzX3NlcnZpY2VfYWNjb3VudCI6ImF1dG8tdGVzdC1zYSJ9 k8s-auto-v1');
|
|
127
|
-
expect(res.body.role.hosts.ips[1]).to.be.a('string').to.equal('255.255.127.2 * eyJrOHNfY29udGFpbmVyX2lkIjoiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiLCJrOHNfazJocjNfcmFuZCI6ImJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiIiwiazhzX25hbWVzcGFjZSI6ImF1dG8tdGVzdC1uYW1lc3BhY2UiLCJrOHNfbm9kZV9pcCI6IjI1NS4yNTUuMTI3LjIiLCJrOHNfbm9kZV9uYW1lIjoiYXV0by10ZXN0LW5vZGUtMiIsIms4c19wb2RfaWQiOiJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYiIsIms4c19wb2RfaXAiOiIyNTUuMTI3LjEyNy4yIiwiazhzX3BvZF9uYW1lIjoiYXV0by10ZXN0LXBvZC0yIiwiazhzX3NlcnZpY2VfYWNjb3VudCI6ImF1dG8tdGVzdC1zYSJ9 k8s-auto-v1');
|
|
128
|
-
expect(res.body.role.hosts.ips[2]).to.be.a('string').to.equal('255.255.127.3 * eyJrOHNfY29udGFpbmVyX2lkIjoiMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiLCJrOHNfazJocjNfcmFuZCI6ImNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjIiwiazhzX25hbWVzcGFjZSI6ImF1dG8tdGVzdC1uYW1lc3BhY2UiLCJrOHNfbm9kZV9pcCI6IjI1NS4yNTUuMTI3LjMiLCJrOHNfbm9kZV9uYW1lIjoiYXV0by10ZXN0LW5vZGUtMyIsIms4c19wb2RfaWQiOiJjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjYyIsIms4c19wb2RfaXAiOiIyNTUuMTI3LjEyNy4zIiwiazhzX3BvZF9uYW1lIjoiYXV0by10ZXN0LXBvZC0zIiwiazhzX3NlcnZpY2VfYWNjb3VudCI6ImF1dG8tdGVzdC1zYSJ9 k8s-auto-v1');
|
|
129
|
-
|
|
130
|
-
}else if(4 == res.body.role.hosts.ips.length){
|
|
131
|
-
// when run test:wacher as single testing, array is 4
|
|
132
|
-
expect(res.body.role.hosts.ips).to.be.an.instanceof(Array).to.have.lengthOf(4);
|
|
133
|
-
expect(res.body.role.hosts.ips[0]).to.be.a('string').to.equal('127.0.0.1 * eyJrOHNfY29udGFpbmVyX2lkIjoiNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQiLCJrOHNfazJocjNfcmFuZCI6ImRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkIiwiazhzX25hbWVzcGFjZSI6ImF1dG8tdGVzdC1uYW1lc3BhY2UiLCJrOHNfbm9kZV9pcCI6IjEyNy4wLjAuMSIsIms4c19ub2RlX25hbWUiOiJhdXRvLXRlc3Qtbm9kZS00IiwiazhzX3BvZF9pZCI6ImRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkIiwiazhzX3BvZF9pcCI6IjEyNy4wLjAuMSIsIms4c19wb2RfbmFtZSI6ImF1dG8tdGVzdC1wb2QtNCIsIms4c19zZXJ2aWNlX2FjY291bnQiOiJhdXRvLXRlc3Qtc2EifQ== k8s-auto-v1');
|
|
134
|
-
expect(res.body.role.hosts.ips[1]).to.be.a('string').to.equal('255.255.127.1 * eyJrOHNfY29udGFpbmVyX2lkIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEiLCJrOHNfazJocjNfcmFuZCI6ImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIiwiazhzX25hbWVzcGFjZSI6ImF1dG8tdGVzdC1uYW1lc3BhY2UiLCJrOHNfbm9kZV9pcCI6IjI1NS4yNTUuMTI3LjEiLCJrOHNfbm9kZV9uYW1lIjoiYXV0by10ZXN0LW5vZGUtMSIsIms4c19wb2RfaWQiOiJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIsIms4c19wb2RfaXAiOiIyNTUuMTI3LjEyNy4xIiwiazhzX3BvZF9uYW1lIjoiYXV0by10ZXN0LXBvZC0xIiwiazhzX3NlcnZpY2VfYWNjb3VudCI6ImF1dG8tdGVzdC1zYSJ9 k8s-auto-v1');
|
|
135
|
-
expect(res.body.role.hosts.ips[2]).to.be.a('string').to.equal('255.255.127.2 * eyJrOHNfY29udGFpbmVyX2lkIjoiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiLCJrOHNfazJocjNfcmFuZCI6ImJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiIiwiazhzX25hbWVzcGFjZSI6ImF1dG8tdGVzdC1uYW1lc3BhY2UiLCJrOHNfbm9kZV9pcCI6IjI1NS4yNTUuMTI3LjIiLCJrOHNfbm9kZV9uYW1lIjoiYXV0by10ZXN0LW5vZGUtMiIsIms4c19wb2RfaWQiOiJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYiIsIms4c19wb2RfaXAiOiIyNTUuMTI3LjEyNy4yIiwiazhzX3BvZF9uYW1lIjoiYXV0by10ZXN0LXBvZC0yIiwiazhzX3NlcnZpY2VfYWNjb3VudCI6ImF1dG8tdGVzdC1zYSJ9 k8s-auto-v1');
|
|
136
|
-
expect(res.body.role.hosts.ips[3]).to.be.a('string').to.equal('255.255.127.3 * eyJrOHNfY29udGFpbmVyX2lkIjoiMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiLCJrOHNfazJocjNfcmFuZCI6ImNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjIiwiazhzX25hbWVzcGFjZSI6ImF1dG8tdGVzdC1uYW1lc3BhY2UiLCJrOHNfbm9kZV9pcCI6IjI1NS4yNTUuMTI3LjMiLCJrOHNfbm9kZV9uYW1lIjoiYXV0by10ZXN0LW5vZGUtMyIsIms4c19wb2RfaWQiOiJjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjYyIsIms4c19wb2RfaXAiOiIyNTUuMTI3LjEyNy4zIiwiazhzX3BvZF9uYW1lIjoiYXV0by10ZXN0LXBvZC0zIiwiazhzX3NlcnZpY2VfYWNjb3VudCI6ImF1dG8tdGVzdC1zYSJ9 k8s-auto-v1');
|
|
137
|
-
|
|
138
|
-
}else{
|
|
139
|
-
// force do error
|
|
140
|
-
expect(res.body.role.hosts.ips).to.be.an.instanceof(Array).to.have.lengthOf(0);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
done();
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
/*
|
|
151
|
-
* Local variables:
|
|
152
|
-
* tab-width: 4
|
|
153
|
-
* c-basic-offset: 4
|
|
154
|
-
* End:
|
|
155
|
-
* vim600: noexpandtab sw=4 ts=4 fdm=marker
|
|
156
|
-
* vim<600: noexpandtab sw=4 ts=4
|
|
157
|
-
*/
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* K2HR3 REST API
|
|
3
|
-
*
|
|
4
|
-
* Copyright 2017 Yahoo Japan Corporation.
|
|
5
|
-
*
|
|
6
|
-
* K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
|
|
7
|
-
* common management information for the cloud.
|
|
8
|
-
* K2HR3 can dynamically manage information as "who", "what", "operate".
|
|
9
|
-
* These are stored as roles, resources, policies in K2hdkc, and the
|
|
10
|
-
* client system can dynamically read and modify these information.
|
|
11
|
-
*
|
|
12
|
-
* For the full copyright and license information, please view
|
|
13
|
-
* the license file that was distributed with this source code.
|
|
14
|
-
*
|
|
15
|
-
* AUTHOR: Takeshi Nakatani
|
|
16
|
-
* CREATE: Thu Oct 25 2018
|
|
17
|
-
* REVISION:
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
'use strict';
|
|
22
|
-
|
|
23
|
-
var common = require('./auto_common'); // Common objects for Chai
|
|
24
|
-
var chai = common.chai; // eslint-disable-line no-unused-vars
|
|
25
|
-
var chaiHttp = common.chaiHttp; // eslint-disable-line no-unused-vars
|
|
26
|
-
var app = common.app; // eslint-disable-line no-unused-vars
|
|
27
|
-
var assert = common.assert; // eslint-disable-line no-unused-vars
|
|
28
|
-
var expect = common.expect; // eslint-disable-line no-unused-vars
|
|
29
|
-
var subproc = require('./auto_subprocesses');
|
|
30
|
-
|
|
31
|
-
//--------------------------------------------------------------
|
|
32
|
-
// Before in global section
|
|
33
|
-
//--------------------------------------------------------------
|
|
34
|
-
before(function(){ // eslint-disable-line no-undef
|
|
35
|
-
//
|
|
36
|
-
// Start all sub processes
|
|
37
|
-
//
|
|
38
|
-
subproc.start(this);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
//--------------------------------------------------------------
|
|
42
|
-
// After in global section
|
|
43
|
-
//--------------------------------------------------------------
|
|
44
|
-
after(function(){ // eslint-disable-line no-undef
|
|
45
|
-
//
|
|
46
|
-
// Stop all sub processes
|
|
47
|
-
//
|
|
48
|
-
subproc.stop(this);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
//--------------------------------------------------------------
|
|
52
|
-
// BeforeEach in global section
|
|
53
|
-
//--------------------------------------------------------------
|
|
54
|
-
beforeEach(function(){ // eslint-disable-line no-undef
|
|
55
|
-
// Nothing to do
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
//--------------------------------------------------------------
|
|
59
|
-
// AfterEach in global section
|
|
60
|
-
//--------------------------------------------------------------
|
|
61
|
-
afterEach(function(){ // eslint-disable-line no-undef
|
|
62
|
-
// Nothing to do
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
//--------------------------------------------------------------
|
|
66
|
-
// Sub describe section
|
|
67
|
-
//--------------------------------------------------------------
|
|
68
|
-
describe('SUB PROCESS TEST: WATCHER', function(){ // eslint-disable-line no-undef
|
|
69
|
-
require('./auto_watcher');
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
/*
|
|
73
|
-
* Local variables:
|
|
74
|
-
* tab-width: 4
|
|
75
|
-
* c-basic-offset: 4
|
|
76
|
-
* End:
|
|
77
|
-
* vim600: noexpandtab sw=4 ts=4 fdm=marker
|
|
78
|
-
* vim<600: noexpandtab sw=4 ts=4
|
|
79
|
-
*/
|