Skip to content

Commit 0872954

Browse files
committed
synopsis test
1 parent 095c12c commit 0872954

File tree

4 files changed

+66
-7
lines changed

4 files changed

+66
-7
lines changed

docs/introduction.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

pbac.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff 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
*/

t/mfadevice.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,6 @@ var policies = [{
4848

4949
var engine = new Engine(policies);
5050

51-
//engine.validate(policies);
52-
//engine.validate(policies[0]);
53-
//engine.validate(policies[1]);
54-
5551
describe('policies', function() {
5652
it('evaluate', function() {
5753
assert.ok(engine.evaluate({

t/synopsis.js

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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+
});

0 commit comments

Comments
 (0)