File tree Expand file tree Collapse file tree 4 files changed +66
-7
lines changed
Expand file tree Collapse file tree 4 files changed +66
-7
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -14,8 +14,12 @@ var _ = require('lodash'),
1414/**
1515 * ```
1616 * var PBAC = require('pbac');
17- * var pbac = new PBAC({
18- *
17+ * var pbac = new PBAC(policies, {
18+ * variables: {
19+ * req: {
20+ * IpAddress: '192.168.0.101',
21+ * }
22+ * }
1923 * });
2024 * ```
2125 */
Original file line number Diff line number Diff line change @@ -48,10 +48,6 @@ var policies = [{
4848
4949var engine = new Engine ( policies ) ;
5050
51- //engine.validate(policies);
52- //engine.validate(policies[0]);
53- //engine.validate(policies[1]);
54-
5551describe ( 'policies' , function ( ) {
5652 it ( 'evaluate' , function ( ) {
5753 assert . ok ( engine . evaluate ( {
Original file line number Diff line number Diff line change 1+ var assert = require ( 'assert' ) ,
2+ Engine = require ( '../pbac' ) ;
3+
4+ var policies = [ {
5+ "Version" : "2012-10-17" ,
6+ "Statement" : [ {
7+ "Sid" : "AllowUsersToCreateEnableResyncTheirOwnVirtualMFADevice" ,
8+ "Effect" : "Allow" ,
9+ "Action" : [
10+ "iam:CreateUser" ,
11+ "iam:UpdateUser" ,
12+ "iam:DeleteUser"
13+ ] ,
14+ "Resource" : [
15+ "arn:aws:iam:::user/${req:UserName}"
16+ ] ,
17+ "Condition" : {
18+ "IpAddress" : {
19+ "req:IpAddress" : "10.0.20.0/24"
20+ }
21+ }
22+ } ]
23+ } ] ;
24+
25+ var engine = new Engine ( policies , {
26+ variables : {
27+ req : {
28+ UserName : 'testuser' ,
29+ IpAddress : '10.0.20.51' ,
30+ }
31+ }
32+ } ) ;
33+
34+ describe ( 'synopsis' , function ( ) {
35+ it ( 'good ip' , function ( ) {
36+ assert . ok ( engine . evaluate ( {
37+ action : 'iam:CreateUser' ,
38+ resource : 'arn:aws:iam:::user/testuser' ,
39+ variables : {
40+ req : {
41+ IpAddress : '10.0.20.51' ,
42+ UserName : 'testuser' ,
43+ }
44+ }
45+ } ) ) ;
46+ } ) ;
47+
48+ it ( 'bad ip' , function ( ) {
49+ assert . ok ( ! engine . evaluate ( {
50+ action : 'iam:CreateUser' ,
51+ resource : 'arn:aws:iam:::user/testuser' ,
52+ variables : {
53+ req : {
54+ IpAddress : '10.0.21.51' ,
55+ UserName : 'testuser' ,
56+ }
57+ }
58+ } ) ) ;
59+ } ) ;
60+ } ) ;
You can’t perform that action at this time.
0 commit comments