Skip to content

Commit 7309491

Browse files
authored
Merge pull request #35 from Scalr/feature/SCALRCORE-18479
SCALRCORE-18479 > Add examples for merged pull request
2 parents 81ad9bb + 0ac1cdc commit 7309491

File tree

4 files changed

+59
-0
lines changed

4 files changed

+59
-0
lines changed

.github/workflows/opa.yml

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ jobs:
2929
management/whitelist_ami.rego;management/whitelist_ami_test.rego;management/whitelist_ami_mock.json
3030
management/workspace_name.rego;management/workspace_name_test.rego;management/workspace_name_mock.json
3131
management/workspace_destroy.rego;management/workspace_destroy_test.rego;management/workspace_destroy_mock.json
32+
management/pull_requests.rego;management/pull_requests_test.rego;management/pull_requests_mock.json
3233
management/workspace_tags.rego;management/workspace_tags_test.rego;management/workspace_tags_mock.json
3334
modules/pin_module_version.rego;modules/pin_module_version_test.rego;modules/pin_module_version_mock.json;
3435
modules/required_modules.rego;modules/required_modules_test.rego;modules/required_modules_mock.json;

management/pull_requests.rego

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package terraform
2+
3+
import input.tfrun as tfrun
4+
5+
deny["Merged by and PR author are the same person"] {
6+
not is_null(tfrun.vcs)
7+
pr := tfrun.vcs.pull_request
8+
not is_null(pr)
9+
pr.merged_by == pr.author
10+
}

management/pull_requests_mock.json

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"mock": {
3+
"same": {
4+
"tfrun": {
5+
"vcs": {
6+
"pull_request": {
7+
"author": "user",
8+
"merged_by": "user"
9+
}
10+
}
11+
}
12+
},
13+
"not_same": {
14+
"tfrun": {
15+
"vcs": {
16+
"pull_request": {
17+
"author": "user",
18+
"merged_by": "another_user"
19+
}
20+
}
21+
}
22+
},
23+
"no_pr": {
24+
"tfrun": {
25+
"vcs": {
26+
"pull_request": null
27+
}
28+
}
29+
}
30+
}
31+
}

management/pull_requests_test.rego

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package terraform
2+
3+
test_pull_request_author_merged_by_are_same {
4+
result = deny with input as data.mock.same
5+
count(result) == 1
6+
}
7+
8+
test_pull_request_author_merged_by_are_not_same {
9+
result = deny with input as data.mock.not_same
10+
count(result) == 0
11+
}
12+
13+
test_commit_without_pull_request {
14+
result = deny with input as data.mock.no_pr
15+
count(result) == 0
16+
}
17+

0 commit comments

Comments
 (0)