From 639b87d55ac2f0b852aaf0b69b915fc0057d7614 Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Thu, 14 Nov 2013 16:50:21 -0500 Subject: [PATCH] Add some initial activity stream tests --- awx/api/serializers.py | 2 +- awx/main/tests/__init__.py | 2 +- awx/main/tests/activity_stream.py | 61 +++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 awx/main/tests/activity_stream.py diff --git a/awx/api/serializers.py b/awx/api/serializers.py index 13bfbd982c..270a54556e 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -1046,7 +1046,7 @@ class ActivityStreamSerializer(BaseSerializer): if under_short_obj_type == "host" or under_short_obj_type == "group": d['inventory'] = {'name': obj2.inventory.name, 'id': obj2.inventory.id} except Exception, e: - logger.error("Error getting object 2 summary: " + str(e)) + pass return d diff --git a/awx/main/tests/__init__.py b/awx/main/tests/__init__.py index 280ab9bf18..113ece1448 100644 --- a/awx/main/tests/__init__.py +++ b/awx/main/tests/__init__.py @@ -10,4 +10,4 @@ from awx.main.tests.scripts import * from awx.main.tests.tasks import RunJobTest from awx.main.tests.licenses import LicenseTests from awx.main.tests.jobs import * - +from awx.main.tests.activity_stream import * diff --git a/awx/main/tests/activity_stream.py b/awx/main/tests/activity_stream.py new file mode 100644 index 0000000000..05c1a9911f --- /dev/null +++ b/awx/main/tests/activity_stream.py @@ -0,0 +1,61 @@ +# Copyright (c) 2013 AnsibleWorks, Inc. +# All Rights Reserved. + +# Python +import contextlib +import datetime +import json +import os +import shutil +import tempfile + + +from django.contrib.auth.models import User +import django.test +from django.test.client import Client +from django.core.urlresolvers import reverse + +# AWX +from awx.main.models import * +from awx.main.tests.base import BaseTest + +class ActivityStreamTest(BaseTest): + + def collection(self): + return reverse('api:activity_stream_list') + + def item(self, item_id): + return reverse('api:activity_stream_detail', args=(item_id,)) + + def setUp(self): + super(ActivityStreamTest, self).setUp() + self.setup_users() + self.organization = self.make_organizations(self.normal_django_user, 1)[0] + self.project = self.make_projects(self.normal_django_user, 1)[0] + self.organization.projects.add(self.project) + self.organization.users.add(self.normal_django_user) + + def test_get_activity_stream_list(self): + url = self.collection() + + with self.current_user(self.normal_django_user): + self.options(url, expect=200) + self.head(url, expect=200) + response = self.get(url, expect=200) + self.check_pagination_and_size(response, 4, previous=None, next=None) + + def test_basic_fields(self): + org_item = self.item(self.organization.id) + + with self.current_user(self.super_django_user): + response = self.get(org_item, expect=200) + self.assertEqual(response['object1_id'], self.organization.id) + self.assertEqual(response['object1_type'], "awx.main.models.organization.Organization") + self.assertEqual(response['object2_id'], None) + self.assertEqual(response['object2_type'], None) + + self.assertTrue("related" in response) + self.assertTrue("object1" in response['related']) + self.assertTrue("summary_fields" in response) + self.assertTrue("object1" in response['summary_fields']) + self.assertEquals(response['summary_fields']['object1']['base'], "organization")