Fix some tests

remotes/origin/enhancement/email-actions
Jesús Espino 2014-11-28 14:51:42 +01:00 committed by David Barragán Merino
parent 02400be2a1
commit edcb186871
4 changed files with 14 additions and 5 deletions

View File

@ -30,6 +30,7 @@ from ..exceptions import ActionSyntaxException
from urllib.parse import parse_qs from urllib.parse import parse_qs
from ipware.ip import get_real_ip from ipware.ip import get_real_ip
class BitBucketViewSet(BaseWebhookApiViewSet): class BitBucketViewSet(BaseWebhookApiViewSet):
event_hook_classes = { event_hook_classes = {
"push": event_hooks.PushEventHook, "push": event_hooks.PushEventHook,

View File

@ -16,6 +16,7 @@
from rest_framework.response import Response from rest_framework.response import Response
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.conf import settings
from taiga.base.api.viewsets import GenericViewSet from taiga.base.api.viewsets import GenericViewSet
from taiga.base import exceptions as exc from taiga.base import exceptions as exc
@ -25,6 +26,8 @@ from taiga.hooks.api import BaseWebhookApiViewSet
from . import event_hooks from . import event_hooks
from ipware.ip import get_real_ip
class GitLabViewSet(BaseWebhookApiViewSet): class GitLabViewSet(BaseWebhookApiViewSet):
event_hook_classes = { event_hook_classes = {
@ -48,9 +51,9 @@ class GitLabViewSet(BaseWebhookApiViewSet):
if not project_secret: if not project_secret:
return False return False
valid_origin_ips = project.modules_config.config.get("bitbucket", {}).get("valid_origin_ips", settings.GITLAB_VALID_ORIGIN_IPS) valid_origin_ips = project.modules_config.config.get("gitlab", {}).get("valid_origin_ips", settings.GITLAB_VALID_ORIGIN_IPS)
origin_ip = get_real_ip(request) origin_ip = get_real_ip(request)
if not origin_ip or not origin_ip in valid_origin_ips: if not origin_ip or origin_ip not in valid_origin_ips:
return False return False
return project_secret == secret_key return project_secret == secret_key

View File

@ -17,6 +17,7 @@
import uuid import uuid
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.conf import settings
from taiga.users.models import User from taiga.users.models import User
from taiga.base.utils.urls import get_absolute_url from taiga.base.utils.urls import get_absolute_url
@ -28,7 +29,7 @@ def get_or_generate_config(project):
g_config = project.modules_config.config["gitlab"] g_config = project.modules_config.config["gitlab"]
else: else:
g_config = { g_config = {
"secret": uuid.uuid4().hex "secret": uuid.uuid4().hex,
"valid_origin_ips": settings.GITLAB_VALID_ORIGIN_IPS, "valid_origin_ips": settings.GITLAB_VALID_ORIGIN_IPS,
} }

View File

@ -42,14 +42,18 @@ def test_ok_signature(client):
project=f.ProjectFactory() project=f.ProjectFactory()
f.ProjectModulesConfigFactory(project=project, config={ f.ProjectModulesConfigFactory(project=project, config={
"gitlab": { "gitlab": {
"secret": "tpnIwJDz4e" "secret": "tpnIwJDz4e",
"valid_origin_ips": ["111.111.111.111"],
} }
}) })
url = reverse("gitlab-hook-list") url = reverse("gitlab-hook-list")
url = "{}?project={}&key={}".format(url, project.id, "tpnIwJDz4e") url = "{}?project={}&key={}".format(url, project.id, "tpnIwJDz4e")
data = {"test:": "data"} data = {"test:": "data"}
response = client.post(url, json.dumps(data), content_type="application/json") response = client.post(url,
json.dumps(data),
content_type="application/json",
REMOTE_ADDR="111.111.111.111")
assert response.status_code == 200 assert response.status_code == 200