Exemple #1
0
 def setUpTestData(cls):
     cls.user = f.UserFactory(username='******')
     cls.product_starcraft = f.ProductFactory(name='StarCraft')
     cls.starcraft_version_0_1 = f.VersionFactory(
         value='0.1', product=cls.product_starcraft)
     cls.starcraft_version_0_2 = f.VersionFactory(
         value='0.2', product=cls.product_starcraft)
     cls.product_streetfighter = f.ProductFactory(name='StreetFighter')
     cls.streetfighter_version_0_1 = f.VersionFactory(
         value='0.1', product=cls.product_streetfighter)
     cls.plans = [
         f.TestPlanFactory(name='StarCraft: Init',
                           product=cls.product_starcraft,
                           product_version=cls.starcraft_version_0_1,
                           author=cls.user,
                           owner=cls.user),
         f.TestPlanFactory(name='StarCraft: Start',
                           product=cls.product_starcraft,
                           product_version=cls.starcraft_version_0_2,
                           author=cls.user,
                           owner=cls.user),
         f.TestPlanFactory(name='StreetFighter',
                           product=cls.product_streetfighter,
                           product_version=cls.streetfighter_version_0_1,
                           author=cls.user,
                           owner=cls.user),
     ]
Exemple #2
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.case_status_confirmed = TestCaseStatus.objects.get(name='CONFIRMED')
        cls.case_status_proposed = TestCaseStatus.objects.get(name='PROPOSED')

        cls.product = f.ProductFactory(name='Nitrate')
        cls.version = f.VersionFactory(value='0.1', product=cls.product)

        cls.plan = f.TestPlanFactory(
            author=cls.tester,
            owner=cls.tester,
            product=cls.product,
            product_version=cls.version)

        case_creator = partial(
            f.TestCaseFactory,
            author=cls.tester,
            default_tester=None,
            reviewer=cls.tester,
            case_status=cls.case_status_confirmed,
            plan=[cls.plan])

        cls.case = case_creator(summary='Test case 0')
        cls.case_1 = case_creator(summary='Test case 1')
        cls.case_2 = case_creator(summary='Test case 2')
        cls.case_3 = case_creator(summary='Test case 3')
        cls.case_4 = case_creator(summary='Test case 4')
        cls.case_5 = case_creator(summary='Test case 5')
        cls.case_6 = case_creator(summary='Test case 6')
Exemple #3
0
    def setUpTestData(cls):
        cls.user = f.UserFactory()
        cls.http_req = make_http_request(user=cls.user)

        cls.product = f.ProductFactory()
        cls.version = f.VersionFactory(product=cls.product)
        cls.build = f.TestBuildFactory(product=cls.product)
        cls.plan = f.TestPlanFactory(
            product=cls.product,
            product_version=cls.version,
        )
        cls.plan_manager = f.UserFactory()
        cls.plan_default_tester = f.UserFactory()
        cls.tag_fedora = f.TestTagFactory(name='fedora')
        cls.tag_python = f.TestTagFactory(name='automation')
        cls.test_run = f.TestRunFactory(
            plan_text_version=1,
            notes='Running tests ...',
            product_version=cls.version,
            build=cls.build,
            plan=cls.plan,
            manager=cls.plan_manager,
            default_tester=cls.plan_default_tester,
            tag=[cls.tag_fedora, cls.tag_python]
        )
Exemple #4
0
    def setUpTestData(cls):
        cls.author = f.UserFactory(username='******', email='*****@*****.**')
        cls.http_req = make_http_request(user=cls.author,
                                         user_perm='testplans.add_testplan')

        cls.product = f.ProductFactory()
        cls.version = f.VersionFactory(product=cls.product)
        cls.type = TestPlanType.objects.first()
Exemple #5
0
 def setUpTestData(cls):
     cls.product = f.ProductFactory()
     cls.version = f.VersionFactory(value='0.1', product=cls.product)
     cls.build = f.TestBuildFactory(product=cls.product)
     cls.user = f.UserFactory()
     cls.test_run = f.TestRunFactory(manager=cls.user,
                                     default_tester=None,
                                     build=cls.build)
Exemple #6
0
    def setUpTestData(cls):
        cls.product_name = 'StarCraft'
        cls.versions = ['0.6', '0.7', '0.8', '0.9', '1.0']

        cls.product = f.ProductFactory(name=cls.product_name)
        cls.product_versions = [
            f.VersionFactory(product=cls.product, value=version)
            for version in cls.versions
        ]
Exemple #7
0
 def setUpTestData(cls):
     super().setUpTestData()
     cls.product = f.ProductFactory()
     cls.product_version = f.VersionFactory(value='1.0',
                                            product=cls.product)
     cls.plan = f.TestPlanFactory(product=cls.product,
                                  product_version=cls.product_version)
     cls.parent = f.TestPlanFactory(product=cls.product,
                                    product_version=cls.product_version)
Exemple #8
0
 def setUpTestData(cls):
     cls.product = f.ProductFactory()
     cls.product_version = f.VersionFactory(value='1.0',
                                            product=cls.product)
     cls.plan = f.TestPlanFactory(product=cls.product,
                                  product_version=cls.product_version)
     cls.parent = f.TestPlanFactory(product=cls.product,
                                    product_version=cls.product_version)
     cls.tester = User.objects.create_user(username='******',
                                           email='*****@*****.**')
     cls.tester.set_password('password')
     cls.tester.save()
Exemple #9
0
 def setUpTestData(cls):
     cls.product = f.ProductFactory(name='StarCraft')
     cls.starcraft_version_0_1 = f.VersionFactory(
         value='0.1', product=cls.product)
     cls.components = [
         f.ComponentFactory(name='application', product=cls.product,
                            initial_owner=None, initial_qa_contact=None),
         f.ComponentFactory(name='database', product=cls.product,
                            initial_owner=None, initial_qa_contact=None),
         f.ComponentFactory(name='documentation', product=cls.product,
                            initial_owner=None, initial_qa_contact=None),
     ]
Exemple #10
0
 def setUpTestData(cls):
     cls.tester = f.UserFactory(username='******')
     cls.product = f.ProductFactory(name='StarCraft')
     cls.version = f.VersionFactory(value='0.1', product=cls.product)
     cls.plan = f.TestPlanFactory(name='Test product.get_cases',
                                  owner=cls.tester,
                                  author=cls.tester,
                                  product=cls.product,
                                  product_version=cls.version)
     cls.case_category = f.TestCaseCategoryFactory(product=cls.product)
     cls.cases_count = 10
     cls.cases = [
         f.TestCaseFactory(category=cls.case_category,
                           author=cls.tester,
                           reviewer=cls.tester,
                           default_tester=None,
                           plan=[cls.plan]) for i in range(cls.cases_count)
     ]
Exemple #11
0
    def setUpTestData(cls):
        cls.author = f.UserFactory(username='******', email='*****@*****.**')
        cls.http_req = make_http_request(user=cls.author)

        cls.product = f.ProductFactory()
        cls.version = f.VersionFactory(product=cls.product)
        cls.type = f.TestPlanTypeFactory(name='temp')
        cls.tag_fedora = f.TestTagFactory(name='fedora')
        cls.tag_centos = f.TestTagFactory(name='centos')

        cls.plan = f.TestPlanFactory(is_active=True,
                                     extra_link=None,
                                     product=cls.product,
                                     product_version=cls.version,
                                     owner=cls.author,
                                     author=cls.author,
                                     parent=None,
                                     type=cls.type,
                                     tag=[cls.tag_fedora, cls.tag_centos])
Exemple #12
0
 def setUpTestData(cls):
     cls.product = f.ProductFactory()
     cls.version = f.VersionFactory(product=cls.product)
     cls.tester = f.UserFactory()
     cls.plan_type = f.TestPlanTypeFactory(name='manual smoking')
     cls.plan_1 = f.TestPlanFactory(product_version=cls.version,
                                    product=cls.product,
                                    author=cls.tester,
                                    type=cls.plan_type)
     cls.plan_2 = f.TestPlanFactory(product_version=cls.version,
                                    product=cls.product,
                                    author=cls.tester,
                                    type=cls.plan_type)
     cls.case_1 = f.TestCaseFactory(author=cls.tester,
                                    default_tester=None,
                                    reviewer=cls.tester,
                                    plan=[cls.plan_1])
     cls.case_2 = f.TestCaseFactory(author=cls.tester,
                                    default_tester=None,
                                    reviewer=cls.tester,
                                    plan=[cls.plan_1])
Exemple #13
0
    def setUpTestData(cls):
        cls.user = f.UserFactory()
        cls.http_req = make_http_request(user=cls.user,
                                         user_perm='testplans.change_testplan')

        cls.env_group_1 = f.TCMSEnvGroupFactory()
        cls.env_group_2 = f.TCMSEnvGroupFactory()
        cls.product = f.ProductFactory()
        cls.version = f.VersionFactory(product=cls.product)
        cls.tester = f.UserFactory()
        cls.plan_type = f.TestPlanTypeFactory(name='manual smoking')
        cls.plan_1 = f.TestPlanFactory(product_version=cls.version,
                                       product=cls.product,
                                       author=cls.tester,
                                       type=cls.plan_type,
                                       env_group=(cls.env_group_1, ))
        cls.plan_2 = f.TestPlanFactory(product_version=cls.version,
                                       product=cls.product,
                                       author=cls.tester,
                                       type=cls.plan_type,
                                       env_group=(cls.env_group_1, ))
Exemple #14
0
    def setUpTestData(cls):
        cls.admin = f.UserFactory(
            username='******', email='*****@*****.**')
        cls.staff = f.UserFactory(
            username='******', email='*****@*****.**')
        cls.default_tester = f.UserFactory(
            username='******', email='*****@*****.**')
        cls.admin_request = make_http_request(user=cls.admin, user_perm='testruns.add_testcaserun')
        cls.staff_request = make_http_request(user=cls.staff)
        cls.product = f.ProductFactory(name='Nitrate')
        cls.version = f.VersionFactory(value='0.1', product=cls.product)
        cls.build = cls.product.build.all()[0]
        cls.plan = f.TestPlanFactory(
            author=cls.admin, owner=cls.admin, product=cls.product)
        cls.test_run = f.TestRunFactory(
            product_version=cls.version, build=cls.build,
            default_tester=None, plan=cls.plan)
        cls.case_run_status = TestCaseRunStatus.objects.get(name='IDLE')
        cls.case = f.TestCaseFactory(
            author=cls.admin, default_tester=None, plan=[cls.plan])

        cls.case_run_pks = []
Exemple #15
0
    def setUpTestData(cls):
        cls.user = f.UserFactory(username='******', email='*****@*****.**')
        cls.user.set_password('admin')
        cls.user.is_superuser = True
        cls.user.save()

        cls.c = Client()
        cls.c.login(username='******', password='******')

        cls.classification = f.ClassificationFactory(name='Auto')
        cls.product = f.ProductFactory(name='Nitrate',
                                       classification=cls.classification)
        cls.product_version = f.VersionFactory(value='0.1',
                                               product=cls.product)
        cls.plan_type = f.TestPlanTypeFactory()

        cls.test_plan = f.TestPlanFactory(name='another test plan for testing',
                                          product_version=cls.product_version,
                                          owner=cls.user,
                                          author=cls.user,
                                          product=cls.product,
                                          type=cls.plan_type)
        cls.plan_id = cls.test_plan.pk
Exemple #16
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.cool_product = f.ProductFactory(name='CoolProduct')
        cls.cool_version = f.VersionFactory(value='0.1',
                                            product=cls.cool_product)

        cls.env_group_db = f.TCMSEnvGroupFactory(name='db')

        cls.plan_02 = f.TestPlanFactory(
            author=cls.tester,
            owner=cls.tester,
            product=cls.product,
            product_version=cls.version,
            env_group=[cls.env_group_db],
        )

        cls.case_001 = f.TestCaseFactory(author=cls.tester,
                                         default_tester=None,
                                         reviewer=cls.tester,
                                         case_status=cls.case_status_confirmed,
                                         plan=[cls.plan_02])
        cls.case_002 = f.TestCaseFactory(author=cls.tester,
                                         default_tester=None,
                                         reviewer=cls.tester,
                                         case_status=cls.case_status_confirmed,
                                         plan=[cls.plan_02])

        cls.plan_03 = f.TestPlanFactory(author=cls.tester,
                                        owner=cls.tester,
                                        product=cls.cool_product,
                                        product_version=cls.cool_version)
        cls.case_003 = f.TestCaseFactory(author=cls.tester,
                                         default_tester=None,
                                         reviewer=cls.tester,
                                         case_status=cls.case_status_confirmed,
                                         plan=[cls.plan_03])
        cls.case_004 = f.TestCaseFactory(author=cls.tester,
                                         default_tester=None,
                                         reviewer=cls.tester,
                                         case_status=cls.case_status_confirmed,
                                         plan=[cls.plan_03])

        # Data for testing combination search
        # Create cases with priority P2 and associate them to cls.test_run
        priority_p2 = Priority.objects.get(value='P2')
        priority_p3 = Priority.objects.get(value='P3')

        cls.case_p2_01 = f.TestCaseFactory(
            author=cls.tester,
            default_tester=None,
            reviewer=cls.tester,
            case_status=cls.case_status_confirmed,
            plan=[cls.plan_03],
            priority=priority_p2)
        f.TestCaseRunFactory(assignee=cls.tester,
                             tested_by=cls.tester,
                             run=cls.test_run,
                             build=cls.build,
                             case_run_status=cls.case_run_status_idle,
                             case=cls.case_p2_01,
                             sortkey=1000)

        # A new case to cls.plan, whose priority is P3.
        cls.case_005 = f.TestCaseFactory(author=cls.tester,
                                         default_tester=None,
                                         reviewer=cls.tester,
                                         case_status=cls.case_status_confirmed,
                                         plan=[cls.plan],
                                         priority=priority_p3)

        # Test run for asserting env_group column
        cls.test_run_with_env_group = f.TestRunFactory(
            product_version=cls.version,
            plan=cls.plan_02,
            build=cls.build,
            manager=cls.tester,
            default_tester=cls.tester)

        cls.url = reverse('advance_search')
Exemple #17
0
 def setUpTestData(cls):
     cls.product = f.ProductFactory(name='StarCraft')
     cls.version = f.VersionFactory(value='0.7', product=cls.product)
Exemple #18
0
    def test_product_delete_with_test_plan_wo_email_settings(self):
        """
            A test to demonstrate Issue #181.

            Steps to reproduce:
            1) Create a new Product
            2) Create a new Test Plan for Product
            3) DON'T edit the Test Plan
            4) Delete the Product

            Expected results:
            0) No errors
            1) Product is deleted
            2) Test Plan is deleted

            NOTE: we manually connect signals handlers here
            b/c in est mode LISTENING_MODEL_SIGNAL = False
        """
        # setup
        product = f.ProductFactory(name='Something to delete')
        product_version = f.VersionFactory(value='0.1', product=product)
        plan_type = f.TestPlanTypeFactory()

        # create Test Plan via the UI by sending a POST request to the view
        previous_plans_count = TestPlan.objects.count()
        test_plan_name = 'Test plan for the new product'
        response = self.c.post(reverse('plans-new'), {
            'name': test_plan_name,
            'product': product.pk,
            'product_version': product_version.pk,
            'type': plan_type.pk,
        }, follow=True)
        self.assert200(response)
        # verify test plan was created
        self.assertContains(response, test_plan_name)
        self.assertEqual(previous_plans_count + 1, TestPlan.objects.count())

        the_new_plan = list(TestPlan.objects.order_by('pk'))[-1]

        # now delete the product
        admin_delete_url = "admin:{}_{}_delete".format(product._meta.app_label,
                                                       product._meta.model_name)
        location = reverse(admin_delete_url, args=[product.pk])
        response = self.c.get(location)
        self.assert200(response)
        self.assertContains(
            response,
            'Are you sure you want to delete the product "%s"' % product.name)
        self.assertContains(response, "Yes, I'm sure")

        # confirm that we're sure we want to delete it
        response = self.c.post(location, {'post': 'yes'})
        self.assert302(response)
        self.assertIn(
            '/admin/{}/{}/'.format(product._meta.app_label,
                                   product._meta.model_name),
            response['Location'])

        # verify everything has been deleted
        self.assertFalse(Product.objects.filter(pk=product.pk).exists())
        self.assertFalse(Version.objects.filter(pk=product_version.pk).exists())
        self.assertEqual(previous_plans_count, TestPlan.objects.count())
        from tcms.testplans.models import TestPlanEmailSettings
        self.assertFalse(
            TestPlanEmailSettings.objects.filter(plan=the_new_plan).exists())
Exemple #19
0
    def setUpTestData(cls):
        super().setUpTestData()

        create_case = partial(f.TestCaseFactory,
                              author=cls.tester,
                              default_tester=None,
                              reviewer=cls.tester,
                              case_status=cls.case_status_confirmed,
                              plan=[cls.plan])

        cls.case_7 = create_case()
        cls.case_8 = create_case()

        create_run_case = partial(f.TestCaseRunFactory,
                                  assignee=cls.tester,
                                  tested_by=cls.tester,
                                  build=cls.build,
                                  case_run_status=cls.case_run_status_idle,
                                  sortkey=100)
        cls.case_run_7 = create_run_case(case=cls.case_7, run=cls.test_run)
        cls.case_run_8 = create_run_case(case=cls.case_8, run=cls.test_run_1)

        # Create another test plan
        cls.product_foo = f.ProductFactory(name='foo')
        cls.foo_version = f.VersionFactory(value='0.1',
                                           product=cls.product_foo)

        cls.plan_1 = f.TestPlanFactory(author=cls.tester,
                                       owner=cls.tester,
                                       product=cls.product_foo,
                                       product_version=cls.foo_version)

        # So far, the data have
        # Test plans: 1, test cases: 9, test runs: 2, test case runs: 8
        # Test run 1 with 3 case runs associated with case 1, 2, 3, 7
        # Test run 1 with 3 case runs associated with case 4, 5, 6, 8
        # A new test plan without associated cases and runs

        # Now, set data for testing data

        status_error = TestCaseRunStatus.objects.get(name='ERROR')
        status_failed = TestCaseRunStatus.objects.get(name='FAILED')
        status_idle = TestCaseRunStatus.objects.get(name='IDLE')
        status_passed = TestCaseRunStatus.objects.get(name='PASSED')
        status_waived = TestCaseRunStatus.objects.get(name='WAIVED')

        # Set case runs' status for the first test run
        # All in complete statuses
        cls.case_run_1.case_run_status = status_waived
        cls.case_run_1.save()
        cls.case_run_2.case_run_status = status_failed
        cls.case_run_2.save()
        cls.case_run_3.case_run_status = status_error
        cls.case_run_3.save()
        cls.case_run_7.case_run_status = status_passed
        cls.case_run_7.save()

        # Set case runs' status for the second test run
        cls.case_run_4.case_run_status = status_passed
        cls.case_run_4.save()
        cls.case_run_5.case_run_status = status_error
        cls.case_run_5.save()
        cls.case_run_6.case_run_status = status_failed
        cls.case_run_6.save()
        cls.case_run_8.case_run_status = status_idle
        cls.case_run_8.save()