reorganzing tests folder

make tests a module

refacotring to local imports for tests

fixing test import of tasks

fixing test import of tasks

more testing fixups
This commit is contained in:
Wayne Witzel III
2016-01-27 11:38:56 -05:00
parent 7b07bb7d93
commit 5d6ea242c0
44 changed files with 205 additions and 81 deletions
-22
View File
@@ -1,22 +0,0 @@
# Copyright (c) 2015 Ansible, Inc.
# All Rights Reserved.
from awx.main.tests.organizations import * # noqa
from awx.main.tests.users import * # noqa
from awx.main.tests.inventory import * # noqa
from awx.main.tests.projects import ProjectsTest, ProjectUpdatesTest # noqa
from awx.main.tests.commands import * # noqa
from awx.main.tests.scripts import * # noqa
from awx.main.tests.tasks import RunJobTest # noqa
from awx.main.tests.ad_hoc import * # noqa
from awx.main.tests.licenses import LicenseTests # noqa
from awx.main.tests.jobs import * # noqa
from awx.main.tests.activity_stream import * # noqa
from awx.main.tests.schedules import * # noqa
from awx.main.tests.redact import * # noqa
from awx.main.tests.views import * # noqa
from awx.main.tests.commands import * # noqa
from awx.main.tests.fact import * # noqa
from awx.main.tests.unified_jobs import * # noqa
from awx.main.tests.ha import * # noqa
from awx.main.tests.settings import * # noqa
+24
View File
@@ -0,0 +1,24 @@
# Copyright (c) 2015 Ansible, Inc.
# All Rights Reserved.
import logging
logging.disable(logging.CRITICAL)
from .organizations import * # noqa
from .users import * # noqa
from .inventory import * # noqa
from .projects import ProjectsTest, ProjectUpdatesTest # noqa
from .commands import * # noqa
from .scripts import * # noqa
from .tasks import RunJobTest # noqa
from .ad_hoc import * # noqa
from .licenses import LicenseTests # noqa
from .jobs import * # noqa
from .activity_stream import * # noqa
from .schedules import * # noqa
from .redact import * # noqa
from .views import * # noqa
from .commands import * # noqa
from .fact import * # noqa
from .unified_jobs import * # noqa
from .ha import * # noqa
from .settings import * # noqa
@@ -6,7 +6,7 @@ from django.core.urlresolvers import reverse
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTest
from .base import BaseTest
class ActivityStreamTest(BaseTest):
@@ -18,8 +18,8 @@ from crum import impersonate
# AWX
from awx.main.utils import * # noqa
from awx.main.models import * # noqa
from awx.main.tests.base import BaseJobExecutionTest
from awx.main.tests.tasks import TEST_SSH_KEY_DATA, TEST_SSH_KEY_DATA_LOCKED, TEST_SSH_KEY_DATA_UNLOCK
from .base import BaseJobExecutionTest
from .tasks import TEST_SSH_KEY_DATA, TEST_SSH_KEY_DATA_LOCKED, TEST_SSH_KEY_DATA_UNLOCK
__all__ = ['RunAdHocCommandTest', 'AdHocCommandApiTest']
@@ -2,8 +2,8 @@
# All Rights Reserved
# AWX
from awx.main.tests.base import BaseTest
from awx.main.tests.commands.base import BaseCommandMixin
from ..base import BaseTest
from .base import BaseCommandMixin
__all__ = ['AgeDeletedCommandFunctionalTest']
@@ -11,7 +11,7 @@ from django.core.management import call_command
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTestMixin
from ..base import BaseTestMixin
class BaseCommandMixin(BaseTestMixin):
def create_test_inventories(self):
@@ -10,9 +10,9 @@ import mock
from django.core.management.base import CommandError
# AWX
from awx.main.tests.base import BaseTest
from ..base import BaseTest
from awx.fact.tests.base import MongoDBRequired, FactScanBuilder, TEST_FACT_PACKAGES, TEST_FACT_ANSIBLE, TEST_FACT_SERVICES
from awx.main.tests.commands.base import BaseCommandMixin
from .base import BaseCommandMixin
from awx.main.management.commands.cleanup_facts import Command, CleanupFacts
from awx.fact.models.fact import * # noqa
@@ -45,7 +45,7 @@ class CleanupFactsCommandFunctionalTest(BaseCommandMixin, BaseTest, MongoDBRequi
def test_invoke_params_required(self):
result, stdout, stderr = self.run_command('cleanup_facts')
self.assertIsInstance(result, CommandError)
self.assertEqual(str(result), 'Both --granularity and --older_than are required.')
self.assertEqual(str(result), 'Both --granularity and --older_than are required.')
def test_module(self):
self.builder.add_fact('packages', TEST_FACT_PACKAGES)
@@ -24,7 +24,7 @@ from django.test.utils import override_settings
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTest, BaseLiveServerTest
from ..base import BaseTest, BaseLiveServerTest
__all__ = ['CreateDefaultOrgTest', 'DumpDataTest', 'CleanupDeletedTest',
'CleanupJobsTest', 'CleanupActivityStreamTest',
@@ -471,7 +471,7 @@ class CleanupJobsTest(BaseCommandMixin, BaseLiveServerTest):
self.assertTrue(ad_hoc_command.signal_start())
ad_hoc_command = AdHocCommand.objects.get(pk=ad_hoc_command.pk)
self.assertEqual(ad_hoc_command.status, 'successful')
# With days=1, no jobs will be deleted.
jobs_before = Job.objects.all().count()
self.assertTrue(jobs_before)
@@ -690,7 +690,7 @@ class InventoryImportTest(BaseCommandMixin, BaseLiveServerTest):
self.assertTrue('required' in str(result))
# Inventory ID, with invalid source.
invalid_source = ''.join([os.path.splitext(self.ini_path)[0] + '-invalid',
os.path.splitext(self.ini_path)[1]])
os.path.splitext(self.ini_path)[1]])
result, stdout, stderr = self.run_command('inventory_import',
inventory_id=inventory_id,
source=invalid_source)
@@ -766,7 +766,7 @@ class InventoryImportTest(BaseCommandMixin, BaseLiveServerTest):
self.assertEqual(group.children.count(), 0)
hosts = set(group.hosts.values_list('name', flat=True))
host_names = set(['db1.example.com','db2.example.com'])
self.assertEqual(hosts, host_names)
self.assertEqual(hosts, host_names)
elif group.name == 'webservers':
self.assertEqual(group.variables_dict, {'webvar': 'blah'})
self.assertEqual(group.children.count(), 0)
@@ -860,7 +860,7 @@ class InventoryImportTest(BaseCommandMixin, BaseLiveServerTest):
self.assertEqual(group.children.filter(active=True).count(), 0)
hosts = set(group.hosts.filter(active=True).values_list('name', flat=True))
host_names = set(['db1.example.com','db2.example.com'])
self.assertEqual(hosts, host_names)
self.assertEqual(hosts, host_names)
elif group.name == 'webservers':
self.assertEqual(group.variables_dict, {'webvar': 'blah'})
self.assertEqual(group.children.filter(active=True).count(), 0)
@@ -1013,7 +1013,7 @@ class InventoryImportTest(BaseCommandMixin, BaseLiveServerTest):
rest_api_url = urlparse.urlunsplit([parts.scheme, netloc, parts.path,
parts.query, parts.fragment])
os.environ.setdefault('REST_API_URL', rest_api_url)
os.environ['INVENTORY_ID'] = str(old_inv.pk)
os.environ['INVENTORY_ID'] = str(old_inv.pk)
source = os.path.join(os.path.dirname(__file__), '..', '..', '..', 'plugins',
'inventory', 'awxrest.py')
result, stdout, stderr = self.run_command('inventory_import',
@@ -5,8 +5,8 @@
import uuid
# AWX
from awx.main.tests.base import BaseTest
from awx.main.tests.commands.base import BaseCommandMixin
from ..base import BaseTest
from .base import BaseCommandMixin
from awx.main.models import * # noqa
__all__ = ['RemoveInstanceCommandFunctionalTest']
@@ -10,9 +10,9 @@ from copy import deepcopy
from mock import MagicMock
# AWX
from awx.main.tests.base import BaseTest
from ..base import BaseTest
from awx.fact.tests.base import MongoDBRequired
from awx.main.tests.commands.base import BaseCommandMixin
from .base import BaseCommandMixin
from awx.main.management.commands.run_fact_cache_receiver import FactCacheReceiver
from awx.fact.models.fact import * # noqa
@@ -2,8 +2,8 @@
# All Rights Reserved
# AWX
from awx.main.tests.base import BaseTest
from awx.main.tests.commands.base import BaseCommandMixin
from ..base import BaseTest
from .base import BaseCommandMixin
# Django
from django.core.management.base import CommandError
@@ -20,16 +20,16 @@ class UpdatePasswordCommandFunctionalTest(BaseCommandMixin, BaseTest):
def test_updated_ok(self):
result, stdout, stderr = self.run_command('update_password', username='admin', password='dingleberry')
self.assertEqual(stdout, 'Password updated\n')
def test_same_password(self):
result, stdout, stderr = self.run_command('update_password', username='admin', password='admin')
self.assertEqual(stdout, 'Password not updated\n')
def test_error_username_required(self):
result, stdout, stderr = self.run_command('update_password', password='foo')
self.assertIsInstance(result, CommandError)
self.assertEqual(str(result), 'username required')
def test_error_password_required(self):
result, stdout, stderr = self.run_command('update_password', username='admin')
self.assertIsInstance(result, CommandError)
@@ -10,7 +10,7 @@ from django.core.urlresolvers import reverse
# AWX
from awx.main.utils import timestamp_apiformat
from awx.main.models import * # noqa
from awx.main.tests.base import BaseLiveServerTest
from ..base import BaseLiveServerTest
from awx.fact.models import * # noqa
from awx.fact.tests.base import BaseFactTestMixin, FactScanBuilder, TEST_FACT_ANSIBLE, TEST_FACT_PACKAGES, TEST_FACT_SERVICES
from awx.main.utils import build_url
@@ -181,7 +181,7 @@ class FactViewApiTest(FactApiBaseTest):
def test_view_time_filter(self):
self.setup_facts(6)
ts = self.builder.get_timestamp(3)
self.get_fact(Fact.objects.filter(host=self.fact_host, module='ansible', timestamp__lte=ts).order_by('-timestamp')[0],
self.get_fact(Fact.objects.filter(host=self.fact_host, module='ansible', timestamp__lte=ts).order_by('-timestamp')[0],
dict(datetime=ts))
@@ -18,7 +18,7 @@ from django.utils.timezone import now
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTest, BaseTransactionTest
from .base import BaseTest, BaseTransactionTest
__all__ = ['InventoryTest', 'InventoryUpdatesTest', 'InventoryCredentialTest']
@@ -3,7 +3,7 @@ import uuid
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTestMixin
from ..base import BaseTestMixin
TEST_PLAYBOOK = '''- hosts: all
gather_facts: false
@@ -128,7 +128,7 @@ class BaseJobTestMixin(BaseTestMixin):
# He works with Randall
self.user_billybob = self.make_user('billybob')
self.org_ops.users.add(self.user_billybob)
# Jim is the newest intern. He can login, but can't do anything quite yet
# except make everyone else fresh coffee.
self.user_jim = self.make_user('jim')
@@ -256,7 +256,7 @@ class BaseJobTestMixin(BaseTestMixin):
self.team_ops_testers.users.add(self.user_billybob)
# Each user has his/her own set of credentials.
from awx.main.tests.tasks import (TEST_SSH_KEY_DATA,
from ..tasks import (TEST_SSH_KEY_DATA,
TEST_SSH_KEY_DATA_LOCKED,
TEST_SSH_KEY_DATA_UNLOCK)
self.cred_sue = self.user_sue.credentials.create(
@@ -429,7 +429,7 @@ class BaseJobTestMixin(BaseTestMixin):
#self.permission1 = Permission.objects.create(
# inventory = self.inventory,
# project = self.project,
# team = self.team,
# team = self.team,
# permission_type = PERM_INVENTORY_DEPLOY,
# created_by = self.normal_django_user
#)
@@ -441,7 +441,7 @@ class BaseJobTestMixin(BaseTestMixin):
# permission_type = PERM_INVENTORY_CHECK,
# created_by = self.normal_django_user
#)
# Engineering has job templates to check/run the dev project onto
# their own inventory.
self.jt_eng_check = JobTemplate.objects.create(
@@ -10,7 +10,7 @@ from django.core.urlresolvers import reverse
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseLiveServerTest
from ..base import BaseLiveServerTest
from .base import BaseJobTestMixin
__all__ = ['JobRelaunchTest',]
@@ -63,7 +63,7 @@ class JobRelaunchTest(BaseJobTestMixin, BaseLiveServerTest):
self.jt_ops_east_run.extra_vars = jt_extra_vars
self.jt_ops_east_run.save()
response = self.post(url, {}, expect=201)
j = Job.objects.get(pk=response['job'])
self.assertTrue(j.status == 'successful')
@@ -10,7 +10,7 @@ from django.conf import settings
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseLiveServerTest
from ..base import BaseLiveServerTest
from .base import BaseJobTestMixin
__all__ = ['JobStartCancelTest',]
@@ -92,7 +92,7 @@ class JobStartCancelTest(BaseJobTestMixin, BaseLiveServerTest):
# self.assertEqual(job.status, 'failed')
# Test with a job that prompts for SSH unlock key, given the right key.
from awx.main.tests.tasks import TEST_SSH_KEY_DATA_UNLOCK
from ..tasks import TEST_SSH_KEY_DATA_UNLOCK
# job = self.jt_ops_west_run.create_job(
# credential=self.cred_greg,
# created_by=self.user_sue,
@@ -6,7 +6,7 @@ from django.core.urlresolvers import reverse
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTest, QueueStartStopTestMixin
from ..base import BaseTest, QueueStartStopTestMixin
__all__ = ['SurveyPasswordRedactedTest']
@@ -87,7 +87,7 @@ TEST_COMPLEX_SURVEY = '''
TEST_SINGLE_PASSWORDS = [
{
{
'description': 'Single instance with a . after',
'text' : 'See spot. See spot run. See spot run %s. That is a fast run.' % PASSWORD,
'passwords': [PASSWORD],
@@ -233,5 +233,5 @@ class SurveyPasswordRedactedTest(SurveyPasswordBaseTest):
# should redact values in extra_vars
def test_redact_job_extra_vars(self):
for test in self.tests['simple']:
response = self._get_url_job_details(test['job'])
response = self._get_url_job_details(test['job'])
self.check_extra_vars_redacted(test, response)
@@ -6,7 +6,7 @@ import os
import tempfile
from awx.main.models import Host, Inventory, Organization
from awx.main.tests.base import BaseTest
from .base import BaseTest
import awx.main.task_engine
from awx.main.task_engine import * # noqa
@@ -12,7 +12,7 @@ from django.utils.timezone import now as tz_now
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTest
from .base import BaseTest
__all__ = ['AuthTokenLimitUnitTest', 'OrganizationsTest']
@@ -20,8 +20,8 @@ from django.utils.timezone import now
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTransactionTest
from awx.main.tests.tasks import TEST_SSH_KEY_DATA, TEST_SSH_KEY_DATA_LOCKED, TEST_SSH_KEY_DATA_UNLOCK, TEST_OPENSSH_KEY_DATA, TEST_OPENSSH_KEY_DATA_LOCKED
from .base import BaseTransactionTest
from .tasks import TEST_SSH_KEY_DATA, TEST_SSH_KEY_DATA_LOCKED, TEST_SSH_KEY_DATA_UNLOCK, TEST_OPENSSH_KEY_DATA, TEST_OPENSSH_KEY_DATA_LOCKED
from awx.main.utils import decrypt_field, update_scm_url
TEST_PLAYBOOK = '''- hosts: mygroup
@@ -3,7 +3,7 @@ import textwrap
# AWX
from awx.main.redact import UriCleaner
from awx.main.tests.base import BaseTest, URI
from .base import BaseTest, URI
__all__ = ['UriCleanTests']
@@ -10,7 +10,7 @@ from django.utils.timezone import now
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTest
from .base import BaseTest
__all__ = ['ScheduleTest']
@@ -10,7 +10,7 @@ import urlparse
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseLiveServerTest
from .base import BaseLiveServerTest
__all__ = ['InventoryScriptTest']
@@ -1,7 +1,7 @@
# Copyright (c) 2016 Ansible, Inc.
# All Rights Reserved.
from awx.main.tests.base import BaseTest
from .base import BaseTest
from awx.main.models import * # noqa
from django.core.urlresolvers import reverse
@@ -21,7 +21,7 @@ from crum import impersonate
# AWX
from awx.main.utils import * # noqa
from awx.main.models import * # noqa
from awx.main.tests.base import BaseJobExecutionTest
from .base import BaseJobExecutionTest
TEST_PLAYBOOK = u'''
- name: test success
@@ -15,7 +15,7 @@ from django.test.utils import override_settings
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTest
from .base import BaseTest
from awx.main.conf import tower_settings
__all__ = ['AuthTokenTimeoutTest', 'AuthTokenLimitTest', 'AuthTokenProxyTest', 'UsersTest', 'LdapTest']
@@ -2,8 +2,8 @@
from django.core.urlresolvers import reverse
# Reuse Test code
from awx.main.tests.base import BaseLiveServerTest, QueueStartStopTestMixin
from awx.main.tests.base import URI
from .base import BaseLiveServerTest, QueueStartStopTestMixin
from .base import URI
from awx.main.models.projects import * # noqa
__all__ = ['UnifiedJobStdoutRedactedTests']