Skip to content

Commit 42c37c4

Browse files
Bhavana BellamgariBhavana Bellamgari
authored andcommitted
Updated role template references changes and test cases
1 parent 641193a commit 42c37c4

4 files changed

Lines changed: 277 additions & 71 deletions

File tree

examples/iam-policy-management.v1.test.js

Lines changed: 111 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ describe('IamPolicyManagementV1', () => {
8282
let exampleRoleTemplateVersion;
8383
let exampleRoleAssignmentId;
8484
let exampleRoleAssignmentETag;
85+
let exampleRolePolicyTemplateId;
86+
const exampleCustomRoleName = 'TestNodeRole';
87+
const exampleCustomRoleDisplayName = 'SDK TestNodeRole';
88+
const exampleCustomRoleDescription = 'SDK TestNodeRole';
8589

8690
// begin-common
8791

@@ -1895,9 +1899,18 @@ describe('IamPolicyManagementV1', () => {
18951899
originalLog('createRoleTemplate() result:');
18961900
// begin-create_role_template
18971901

1902+
const templateRoleModel = {
1903+
name: exampleCustomRoleName,
1904+
display_name: exampleCustomRoleDisplayName,
1905+
service_name: 'am-test-service',
1906+
description: exampleCustomRoleDescription,
1907+
actions: ['am-test-service.test.create'],
1908+
};
1909+
18981910
const params = {
18991911
name: exampleRoleTemplateName,
19001912
accountId: exampleAccountId,
1913+
role: templateRoleModel,
19011914
};
19021915

19031916
let res;
@@ -1957,9 +1970,7 @@ describe('IamPolicyManagementV1', () => {
19571970

19581971
// TemplateRole
19591972
const templateRoleModel = {
1960-
name: 'GOSDKTestRoleReplace',
19611973
display_name: 'GOSDKTestRoleReplaceDisplay',
1962-
service_name: 'am-test-service',
19631974
actions: ['am-test-service.test.delete'],
19641975
};
19651976

@@ -2030,9 +2041,7 @@ describe('IamPolicyManagementV1', () => {
20302041

20312042
// TemplateRole
20322043
const templateRoleModel = {
2033-
name: 'GOSDKTestRoleVersionTemplate',
20342044
display_name: 'GOSDKTestRoleVersionTemplateDisplay',
2035-
service_name: 'am-test-service',
20362045
actions: ['am-test-service.test.create'],
20372046
};
20382047

@@ -2139,6 +2148,79 @@ describe('IamPolicyManagementV1', () => {
21392148

21402149
// end-commit_role_template
21412150
});
2151+
test('createRolePolicyTemplate request example', async () => {
2152+
expect(exampleAccountId).not.toBeNull();
2153+
consoleLogMock.mockImplementation((output) => {
2154+
originalLog(output);
2155+
});
2156+
consoleWarnMock.mockImplementation((output) => {
2157+
// if an error occurs, display the message and then fail the test
2158+
originalWarn(output);
2159+
expect(true).toBeFalsy();
2160+
});
2161+
2162+
originalLog('createRolePolicyTemplate() result:');
2163+
// begin-create_policy_template
2164+
2165+
// Request models needed by this operation.
2166+
2167+
// V2PolicyResourceAttribute
2168+
const v2PolicyResourceAttributeModel = {
2169+
key: 'serviceName',
2170+
operator: 'stringEquals',
2171+
value: 'am-test-service',
2172+
};
2173+
2174+
// V2PolicyResource
2175+
const v2PolicyResourceModel = {
2176+
attributes: [v2PolicyResourceAttributeModel],
2177+
};
2178+
2179+
// Roles
2180+
const rolesModel = {
2181+
role_id: 'crn:v1:bluemix:public:iam::::role:Viewer',
2182+
};
2183+
2184+
// Role template references
2185+
const roleTemplateReferencesModel = {
2186+
id: exampleRoleTemplateId,
2187+
version: exampleRoleTemplateVersion,
2188+
};
2189+
2190+
// Grant
2191+
const grantModel = {
2192+
roles: [rolesModel],
2193+
role_template_references: [roleTemplateReferencesModel],
2194+
};
2195+
2196+
// Control
2197+
const controlModel = {
2198+
grant: grantModel,
2199+
};
2200+
2201+
// TemplatePolicy
2202+
const templatePolicyModel = {
2203+
type: 'access',
2204+
resource: v2PolicyResourceModel,
2205+
control: controlModel,
2206+
};
2207+
2208+
const params = {
2209+
name: 'SDKNodeExampleTemplate',
2210+
accountId: exampleAccountId,
2211+
policy: templatePolicyModel,
2212+
};
2213+
2214+
try {
2215+
const res = await iamPolicyManagementService.createPolicyTemplate(params);
2216+
exampleRolePolicyTemplateId = res.result.id;
2217+
console.log(JSON.stringify(res.result, null, 2));
2218+
} catch (err) {
2219+
console.warn(err);
2220+
}
2221+
2222+
// end-create_policy_template
2223+
});
21422224
test('createRoleTemplateAssignment request example', async () => {
21432225
consoleLogMock.mockImplementation((output) => {
21442226
originalLog(output);
@@ -2296,6 +2378,31 @@ describe('IamPolicyManagementV1', () => {
22962378

22972379
// end-delete_role_assignment
22982380
});
2381+
test('deleteRolePolicyTemplate request example', async () => {
2382+
expect(exampleRolePolicyTemplateId).not.toBeNull();
2383+
consoleLogMock.mockImplementation((output) => {
2384+
originalLog(output);
2385+
});
2386+
consoleWarnMock.mockImplementation((output) => {
2387+
// if an error occurs, display the message and then fail the test
2388+
originalWarn(output);
2389+
expect(true).toBeFalsy();
2390+
});
2391+
2392+
// begin-delete_role_policy_template
2393+
2394+
const params = {
2395+
policyTemplateId: exampleRolePolicyTemplateId,
2396+
};
2397+
2398+
try {
2399+
await iamPolicyManagementService.deletePolicyTemplate(params);
2400+
} catch (err) {
2401+
console.warn(err);
2402+
}
2403+
2404+
// end-delete_policy_template
2405+
});
22992406
test('deleteRoleTemplateVersion request example', async () => {
23002407
consoleLogMock.mockImplementation((output) => {
23012408
originalLog(output);

0 commit comments

Comments
 (0)