test org role as child for team 400s

This commit is contained in:
Wayne Witzel III 2016-06-22 12:00:32 -04:00
parent e07a06e990
commit 54e618db2e

View File

@ -1,9 +1,17 @@
import mock
import pytest
from rest_framework.test import APIRequestFactory
from rest_framework.test import force_authenticate
from awx.api.views import (
ApiV1RootView,
TeamRolesList,
)
from awx.main.models import (
User,
)
@pytest.fixture
def mock_response_new(mocker):
@ -11,7 +19,6 @@ def mock_response_new(mocker):
m.return_value = m
return m
class TestApiV1RootView:
def test_get_endpoints(self, mocker, mock_response_new):
endpoints = [
@ -52,3 +59,24 @@ class TestApiV1RootView:
for endpoint in endpoints:
assert endpoint in data_arg
@pytest.mark.parametrize("url", ["/team/1/roles", "/role/1/teams"])
def test_team_roles_list_post_org_roles(url):
with mock.patch('awx.api.views.Role.objects.get', create=True) as role_get, \
mock.patch('awx.api.views.ContentType.objects.get_for_model', create=True) as ct_get:
role_mock = mock.MagicMock()
role_mock.content_type = 1
role_get.return_value = role_mock
ct_get.return_value = 1
factory = APIRequestFactory()
view = TeamRolesList.as_view()
request = factory.post(url, {'id':1}, format="json")
force_authenticate(request, User(username="root", is_superuser=True))
response = view(request)
response.render()
assert response.status_code == 400
assert 'cannot assign' in response.content