Skip to content

Commit

Permalink
Add tests for ip filtering on gitlab/bitbucket hooks
Browse files Browse the repository at this point in the history
  • Loading branch information
jespino authored and bameda committed Dec 2, 2014
1 parent 1518758 commit 2bbfa56
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
36 changes: 36 additions & 0 deletions tests/integration/test_hooks_bitbucket.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,42 @@ def test_ok_signature(client):
REMOTE_ADDR=settings.BITBUCKET_VALID_ORIGIN_IPS[0])
assert response.status_code == 200

def test_invalid_ip(client):
project=f.ProjectFactory()
f.ProjectModulesConfigFactory(project=project, config={
"bitbucket": {
"secret": "tpnIwJDz4e"
}
})

url = reverse("bitbucket-hook-list")
url = "{}?project={}&key={}".format(url, project.id, "tpnIwJDz4e")
data = {'payload': ['{"commits": []}']}
response = client.post(url,
urllib.parse.urlencode(data, True),
content_type="application/x-www-form-urlencoded",
REMOTE_ADDR="111.111.111.112")
assert response.status_code == 400


def test_not_ip_filter(client):
project=f.ProjectFactory()
f.ProjectModulesConfigFactory(project=project, config={
"bitbucket": {
"secret": "tpnIwJDz4e",
"valid_origin_ips": []
}
})

url = reverse("bitbucket-hook-list")
url = "{}?project={}&key={}".format(url, project.id, "tpnIwJDz4e")
data = {'payload': ['{"commits": []}']}
response = client.post(url,
urllib.parse.urlencode(data, True),
content_type="application/x-www-form-urlencoded",
REMOTE_ADDR="111.111.111.112")
assert response.status_code == 200


def test_push_event_detected(client):
project=f.ProjectFactory()
Expand Down
40 changes: 40 additions & 0 deletions tests/integration/test_hooks_gitlab.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,46 @@ def test_ok_signature(client):
assert response.status_code == 200


def test_invalid_ip(client):
project=f.ProjectFactory()
f.ProjectModulesConfigFactory(project=project, config={
"gitlab": {
"secret": "tpnIwJDz4e",
"valid_origin_ips": ["111.111.111.111"],
}
})

url = reverse("gitlab-hook-list")
url = "{}?project={}&key={}".format(url, project.id, "tpnIwJDz4e")
data = {"test:": "data"}
response = client.post(url,
json.dumps(data),
content_type="application/json",
REMOTE_ADDR="111.111.111.112")

assert response.status_code == 400


def test_not_ip_filter(client):
project=f.ProjectFactory()
f.ProjectModulesConfigFactory(project=project, config={
"gitlab": {
"secret": "tpnIwJDz4e",
"valid_origin_ips": [],
}
})

url = reverse("gitlab-hook-list")
url = "{}?project={}&key={}".format(url, project.id, "tpnIwJDz4e")
data = {"test:": "data"}
response = client.post(url,
json.dumps(data),
content_type="application/json",
REMOTE_ADDR="111.111.111.111")

assert response.status_code == 200


def test_push_event_detected(client):
project=f.ProjectFactory()
url = reverse("gitlab-hook-list")
Expand Down

0 comments on commit 2bbfa56

Please sign in to comment.