Skip to content

Commit 42cb099

Browse files
committed
Merge branch 'dev'
2 parents 6db15ab + 372d09b commit 42cb099

File tree

7 files changed

+235
-38
lines changed

7 files changed

+235
-38
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ install:
1111
- pip install -r requirements.txt
1212
- pip install -r test-requirements.txt
1313
script:
14-
- cd api/ && coverage run --source='.' manage.py test
14+
- cd api/ && coverage run --omit='*/actors/*' --source='.' manage.py test
1515
after_success: coveralls
1616
notifications:
1717
slack:

api/filters/tests.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from rest_framework import status
99
from rest_framework.test import APIRequestFactory
1010

11-
from .views import dependency_list, dependency_detail, filter_list, filter_detail, filter_deploy, unset_filter, FilterData
11+
from .views import dependency_list, dependency_detail, filter_list, filter_detail, filter_deploy, unset_filter, FilterData, DependencyData, filter_undeploy, dependency_deploy
1212
from policies.views import slo_list, slo_detail
1313

1414

@@ -195,6 +195,11 @@ def mock_put_object_status_created(url, token=None, container=None, name=None, c
195195
content_type=None, headers=None, http_conn=None, proxy=None,
196196
query_string=None, response_dict=None):
197197
response_dict['status'] = status.HTTP_201_CREATED
198+
199+
def test_filter_detail_get(self):
200+
request = self.factory.get('/filters/fake')
201+
response = filter_detail(request, 'fake')
202+
self.assertEqual(response.status_code, status.HTTP_200_OK)
198203

199204
@mock.patch('filters.views.swift_client.put_object', side_effect=mock_put_object_status_created)
200205
def test_filter_deploy_to_project_ok(self, mock_put_object):
@@ -245,6 +250,11 @@ def test_filter_deploy_to_project_and_container_ok(self, mock_put_object):
245250
dumped_data = self.r.hget("pipeline:0123456789abcdef:container1", "1")
246251
json_data = json.loads(dumped_data)
247252
self.assertEqual(json_data["filter_name"], "test-1.0.jar")
253+
254+
@mock.patch('filters.views.unset_filter')
255+
def test_filter_undeploy(self, mock_unset_filter):
256+
request = self.factory.put('/filters/projectid/containerid/swiftobject/undeploy/1')
257+
response = filter_undeploy(request, 'fake', 'projectid')
248258

249259
def test_get_all_dependencies_ok(self):
250260
request = self.factory.get('/filters/dependencies')
@@ -308,6 +318,17 @@ def test_delete_dependency_ok(self):
308318
self.assertEqual(response.status_code, status.HTTP_200_OK)
309319
dependencies = json.loads(response.content)
310320
self.assertEqual(len(dependencies), 0)
321+
322+
323+
@mock.patch('filters.views.swift_client')
324+
@mock.patch('filters.views.open')
325+
@mock.patch('filters.views.dict')
326+
def test_dependendy_deploy(self, mock_dict, mock_open, mock_swift_client):
327+
dependency_id = 1
328+
request = self.factory.put('/filters/dependencies/projectid/deploy/' + str(dependency_id))
329+
mock_dict.return_value = {'status': 201}
330+
response = dependency_deploy(request, dependency_id, 'projectid')
331+
self.assertEqual(response.status_code, 201)
311332

312333
@mock.patch('filters.views.swift_client.delete_object')
313334
def test_unset_filter_ok(self, mock_delete_object):
@@ -450,7 +471,7 @@ def create_storlet(self):
450471
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
451472

452473
def create_dependency(self):
453-
dependency_data = {'name': 'DependencyName', 'version': '1.0', 'permissions': '0755'}
474+
dependency_data = {'name': 'DependencyName', 'version': '1.0', 'permissions': '0755', 'path': 'foo'}
454475
request = self.factory.post('/filters/dependencies', dependency_data, format='json')
455476
response = dependency_list(request)
456477
self.assertEqual(response.status_code, status.HTTP_201_CREATED)

api/filters/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ def set_filter(r, target, filter_data, parameters, token):
514514
}
515515

516516
try:
517-
project_id = target.split('/', 3)[0]
517+
project_id = target.split(':')[0]
518518

519519
if project_id == 'global':
520520
projects_crystal_enabled = r.lrange('projects_crystal_enabled', 0, -1)

api/policies/tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ def test_access_control_get_ok(self, mock_get_project_list):
562562
def test_access_control_post_list_ok(self, mock_get_project_list):
563563
mock_get_project_list.return_value = {'0123456789abcdef': 'tenantA', 'abcdef0123456789': 'tenantB'}
564564

565-
acl_data = {'project_id': '0123456789abcdef', 'container_id': 'container2', 'identity': 'user_id:a1a1a1a1a1a1', 'access': 'list'}
565+
acl_data = {'project_id': '0123456789abcdef', 'container_id': 'container2', 'identity': 'user_id:a1a1a1a1a1a1', 'access': 'list', 'object_type': 'DOCS'}
566566
request = self.factory.post('/policies/acl/', acl_data, format='json')
567567
response = access_control(request)
568568
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
@@ -578,7 +578,7 @@ def test_access_control_post_list_ok(self, mock_get_project_list):
578578
def test_access_control_post_read_group_ok(self, mock_get_project_list):
579579
mock_get_project_list.return_value = {'0123456789abcdef': 'tenantA', 'abcdef0123456789': 'tenantB'}
580580

581-
acl_data = {'project_id': '0123456789abcdef', 'container_id': 'container2', 'identity': 'group_id:g2g2g2', 'access': 'read'}
581+
acl_data = {'project_id': '0123456789abcdef', 'container_id': 'container2', 'identity': 'group_id:g2g2g2', 'access': 'read', 'object_type': 'DOCS'}
582582
request = self.factory.post('/policies/acl/', acl_data, format='json')
583583
response = access_control(request)
584584
self.assertEqual(response.status_code, status.HTTP_201_CREATED)

0 commit comments

Comments
 (0)