示例#1
0
    def test_get_product_with_rfes_and_inheritance(self):
        osp12 = factories.ProductFactory(name="OSP12")
        osp13 = factories.ProductFactory(name="OSP13", inherit=osp12)
        osp14 = factories.ProductFactory(name="OSP14", inherit=osp13)
        rfe = factories.RFEFactory(product=osp12)

        request = self.client.get("/api/products/%s" % osp14.id)
        rfe_returned = request.data["rfes"][0]
        self.assertEqual(rfe.id, rfe_returned["id"])
        self.assertEqual(osp12.id, rfe_returned["product_id"])
示例#2
0
 def test_partial_update_product(self):
     product = factories.ProductFactory()
     self.assertNotEqual("updated", product.name)
     request = self.client.patch("/api/products/%s" % product.id,
                                 {"name": "updated"})
     self.assertEqual(200, request.status_code)
     product_updated = models.Product.objects.get(id=product.id)
     self.assertEqual("updated", product_updated.name)
示例#3
0
 def test_rfe_serializer(self):
     product = factories.ProductFactory()
     serializer = serializers.RFESerializer(
         data={
             "name": "serializer",
             "url": "https://example.org/rfes/1",
             "product": product.id,
         })
     serializer.is_valid()
     rfe = serializer.save()
     rfe.refresh_from_db()
     self.assertEqual(rfe.name, "serializer")
示例#4
0
 def test_update_product(self):
     product = factories.ProductFactory()
     self.assertNotEqual("updated", product.name)
     request = self.client.put(
         "/api/products/%s" % product.id,
         {
             "name": "updated",
             "url": "https://example.org/products/1"
         },
     )
     self.assertEqual(200, request.status_code)
     product_updated = models.Product.objects.get(id=product.id)
     self.assertEqual("updated", product_updated.name)
示例#5
0
 def test_upload_no_file(self):
     product = factories.ProductFactory()
     response = self.client.post(
         "/api/upload",
         {
             "product": product.id,
             "url": "https://example.org/jobs/1/",
             "build": "2018-06-20.1",
             "result": "FAILURE",
         },
         format="multipart",
     )
     self.assertEqual(201, response.status_code)
     job_result = models.JobResult.objects.get(
         build="2018-06-20.1",
         url="https://example.org/jobs/1/",
         product=product.id)
     self.assertEquals(job_result.jobname, "jobs")
示例#6
0
    def test_create_rfe(self):
        product = factories.ProductFactory()
        test1 = factories.TestFactory(name="test id 1")
        test2 = factories.TestFactory(name="test id 2")
        self.assertEqual(0, models.RFE.objects.count())

        data = {
            "name": "p1",
            "url": "https://example.org/rfes/1",
            "product": product.id,
            "tests": [test1.id, test2.id],
        }
        request = self.client.post(
            "/api/rfes",
            data,
        )
        self.assertEqual(201, request.status_code)
        self.assertEqual(1, models.RFE.objects.count())
        for key in data:
            self.assertIn(key, request.data)
            self.assertEqual(data[key], request.data[key])
示例#7
0
 def test_upload(self):
     xmlfile = open(
         os.path.join(os.path.dirname(__file__),
                      "tempest-results-full.1.xml"))
     product = factories.ProductFactory()
     test = factories.TestFactory(
         name=
         "tempest.api.compute.admin.test_simple_tenant_usage_negative.TenantUsagesNegativeTestJSON.test_get_usage_tenant_with_empty_tenant_id"
     )
     rfe = factories.RFEFactory(product=product, tests=[test])
     response = self.client.post(
         "/api/upload",
         {
             "product": product.id,
             "url": "https://example.org/jobs/1",
             "build": "2018-06-20.1",
             "file": xmlfile,
             "result": "SUCCESS",
         },
         format="multipart",
     )
     self.assertEqual(201, response.status_code)
     test = models.Test.objects.get(
         name=
         "tempest.api.compute.admin.test_simple_tenant_usage_negative.TenantUsagesNegativeTestJSON.test_get_usage_tenant_with_empty_tenant_id"
     )
     job_result = models.JobResult.objects.get(
         build="2018-06-20.1",
         url="https://example.org/jobs/1",
         product=product.id)
     self.assertEquals(job_result.jobname, "jobs")
     test_result = models.TestResult.objects.get(test=test,
                                                 job_result=job_result)
     self.assertTrue(test_result.result)
     rfe_result = models.RFEResult.objects.get(rfe=rfe)
     self.assertTrue(rfe_result.result)
     self.assertEquals(rfe_result.percent, 100.00)
示例#8
0
 def test_upload(self):
     product = factories.ProductFactory()
     test = factories.TestFactory(name=TEST_NAME)
     rfe = factories.RFEFactory(product=product, tests=[test])
     test = models.Test.objects.get(name=TEST_NAME)
     self.upload_file(product, "tempest-results-full.1.xml")
     job_result = models.JobResult.objects.get(
         build="2018-06-20.1",
         url="https://example.org/jobs/1",
         product=product.id)
     self.assertEquals(job_result.jobname, "jobs")
     test_result = models.TestResult.objects.get(test=test,
                                                 job_result=job_result)
     self.assertTrue(test_result.result)
     rfe_result = models.RFEResult.objects.get(rfe=rfe)
     self.assertTrue(rfe_result.result)
     self.assertEquals(rfe_result.percent, 100.00)
     nb = models.TestResult.objects.filter(job_result=job_result).count()
     # change in tempest-results-full.2.xml is one test is failing
     self.upload_file(product, "tempest-results-full.2.xml")
     nb_job_result = models.JobResult.objects.all().count()
     self.assertEquals(nb_job_result, 1)
     nb2 = models.TestResult.objects.filter(job_result=job_result).count()
     self.assertEquals(nb, nb2)
示例#9
0
 def test_view_products(self):
     product = factories.ProductFactory()
     request = self.client.get("/api/view/products")
     self.assertEqual(product.name, request.data[0]["name"])
示例#10
0
 def test_delete_product(self):
     product = factories.ProductFactory()
     self.assertEqual(1, models.Product.objects.all().count())
     request = self.client.delete("/api/products/%s" % product.id)
     self.assertEqual(204, request.status_code)
     self.assertEqual(0, models.Product.objects.all().count())
示例#11
0
 def test_product_factory(self):
     product = factories.ProductFactory(name="factory")
     self.assertEqual(product.name, "factory")
示例#12
0
 def test_get_product(self):
     product = factories.ProductFactory()
     request = self.client.get("/api/products/%s" % product.id)
     self.assertEqual(product.name, request.data["name"])