Exemple #1
0
    def test_find_content_everything(self):
        yum_content = create_mock_content(name="yum_content",
                                          tags=["awesomeos-1"],
                                          content_type="yum")
        container_content = create_mock_content(name="container_content",
                                                tags=["awesomeos-1"],
                                                content_type="containerImage")
        ostree_content = create_mock_content(name="ostree_content",
                                             tags=["awesomeos-1"],
                                             content_type="ostree")

        ent1 = model.Entitlement(contents=[yum_content])
        ent2 = model.Entitlement(contents=[container_content, ostree_content])

        ent_src = model.EntitlementSource()
        ent_src._entitlements = [ent1, ent2]
        ent_src.product_tags = ["awesomeos-1"]

        yum_list = model.find_content(ent_src, content_type='yum')
        self.assertEquals(1, len(yum_list))
        self.assertEquals('yum_content', yum_list[0].name)

        cont_list = model.find_content(ent_src,
            content_type='containerImage')
        self.assertEquals(1, len(cont_list))
        self.assertEquals('container_content', cont_list[0].name)

        ostree_list = model.find_content(ent_src,
                                         content_type="ostree")
        self.assertEquals(1, len(ostree_list))
        self.assertEquals('ostree_content', ostree_list[0].name)
Exemple #2
0
    def ent_source(self):
        cl1 = self.contents_list('content1')
        cl2 = self.contents_list('content2')

        ent1 = model.Entitlement(contents=cl1)
        ent2 = model.Entitlement(contents=cl2)

        es = model.EntitlementSource()
        es._entitlements = [ent1, ent2]
        return es
Exemple #3
0
    def test_contents(self):
        contents = [mock.Mock(), mock.Mock()]
        e = model.Entitlement(contents=contents)
        self.assertTrue(hasattr(e, 'contents'))
        self.assertEquals(len(e.contents), 2)

        for a_content in e.contents:
            self.assertTrue(isinstance(a_content, mock.Mock))

        self.assertTrue(isinstance(e.contents[0], mock.Mock))
Exemple #4
0
    def test_no_content_tags(self):
        content = create_mock_content(content_type="ostree")
        content_list = [content]

        entitlement = model.Entitlement(contents=content_list)
        es = model.EntitlementSource()
        es._entitlements = [entitlement]
        es.product_tags = ['awesomeos-ostree-1']

        res = model.find_content(es, content_type="ostree")
        self.assertEquals(len(res), 1)
        self.assertEquals(res[0], content)
Exemple #5
0
    def test_find_container_content(self):
        container_content = create_mock_content(name="container_content",
                                                tags=["awesomeos-1"],
                                                content_type="containerImage")

        ent1 = model.Entitlement(contents=[container_content])

        ent_src = model.EntitlementSource()
        ent_src._entitlements = [ent1]
        ent_src.product_tags = ["awesomeos-1"]

        cont_list = model.find_content(ent_src, content_type='containerImage')
        self.assertEqual(1, len(cont_list))
        self.assertEqual('container_content', cont_list[0].name)
    def test_product_tags_and_content_tags_no_match_no_product_tags(self):
        content1 = create_mock_content(tags=["awesomeos-ostree-23"], content_type="ostree")
        content2 = create_mock_content(
            name="more-test-content", tags=["awesomeos-ostree-24"], content_type="ostree"
        )
        content_list = [content1, content2]

        entitlement = model.Entitlement(contents=content_list)
        es = model.EntitlementSource()
        es._entitlements = [entitlement]

        res = model.find_content(es, content_type="ostree")

        self.assertEqual(len(res), 0)
Exemple #7
0
    def test_product_tags_and_content_tags_multiple_content_one_match(self):
        content1 = create_mock_content(tags=['awesomeos-ostree-23'],
                                      content_type="ostree")
        content2 = create_mock_content(name="more-test-content",
                                       tags=['awesomeos-ostree-1'],
                                       content_type="ostree")
        content_list = [content1, content2]

        entitlement = model.Entitlement(contents=content_list)
        es = model.EntitlementSource()
        es._entitlements = [entitlement]
        es.product_tags = ['awesomeos-ostree-1']

        res = model.find_content(es, content_type="ostree")

        self.assertEquals(len(res), 1)
        self.assertEquals(res[0], content2)
Exemple #8
0
 def test_init_empty_contents(self):
     e = model.Entitlement(contents=[])
     self.assertTrue(hasattr(e, 'contents'))
     self.assertEquals(e.contents, [])
Exemple #9
0
 def test_empty_init(self):
     e = model.Entitlement()
     self.assertTrue(hasattr(e, 'contents'))
Exemple #10
0
    def test_awesomeos_product_tags(self):
        product_tags_beta = ["awesomeos-ostree-beta", "awesomeos-ostree-beta-7"]
        product_tags_htb = ["awesomeos-ostree-htb", "awesomeos-ostree-htb-7"]
        product_tags_os = ["awesomeos-ostree", "awesomeos-ostree-7"]

        content_tags_beta = ["awesomeos-ostree-beta-7"]
        content_tags_htb = ["awesomeos-ostree-htb-7"]
        content_tags_os = ["awesomeos-ostree-7"]

        beta_ostree_content = create_mock_content(name="awesomeos_beta_ostree_content",
                                                  tags=content_tags_beta,
                                                  content_type="ostree")

        htb_ostree_content = create_mock_content(name="awesomeos_htb_ostree_content",
                                                 tags=content_tags_htb,
                                                 content_type="ostree")

        ostree_content = create_mock_content(name="awesomeos_ostree_content",
                                             tags=content_tags_os,
                                             content_type="ostree")

        ent = model.Entitlement(contents=[ostree_content,
                                          htb_ostree_content,
                                          beta_ostree_content])

        ent_src = model.EntitlementSource()
        ent_src._entitlements = [ent]

        # beta product
        ent_src.product_tags = product_tags_beta
        ostree_list = model.find_content(ent_src, content_type='ostree')
        self.assertEquals(1, len(ostree_list))
        self.assertEquals('awesomeos_beta_ostree_content', ostree_list[0].name)

        # htb products
        ent_src.product_tags = product_tags_htb
        ostree_list = model.find_content(ent_src, content_type='ostree')
        self.assertEquals(1, len(ostree_list))
        self.assertEquals('awesomeos_htb_ostree_content', ostree_list[0].name)

        ent_src.product_tags = product_tags_os
        ostree_list = model.find_content(ent_src, content_type='ostree')
        self.assertEquals(1, len(ostree_list))
        self.assertEquals('awesomeos_ostree_content', ostree_list[0].name)

        # beta product, no beta content
        ent = model.Entitlement(contents=[ostree_content])
        ent_src._entitlements = [ent]
        ent_src.product_tags = product_tags_beta
        ostree_list = model.find_content(ent_src, content_type='ostree')
        self.assertEquals(0, len(ostree_list))

        # awesomeos product, no os content, beta, htb content
        ent = model.Entitlement(contents=[htb_ostree_content,
                                          beta_ostree_content])
        ent_src._entitlements = [ent]
        ent_src.product_tags = product_tags_os
        ostree_list = model.find_content(ent_src, content_type='ostree')
        self.assertEquals(0, len(ostree_list))

        # awesomeos and beta product, all content
        ent = model.Entitlement(contents=[ostree_content,
                                          htb_ostree_content,
                                          beta_ostree_content])
        ent_src._entitlements = [ent]
        ent_src.product_tags = product_tags_os + product_tags_beta
        ostree_list = model.find_content(ent_src, content_type='ostree')
        # should be os and beta content
        self.assertEquals(2, len(ostree_list))
        content_names = [x.name for x in ostree_list]
        self.assertTrue('awesomeos_ostree_content' in content_names)
        self.assertTrue('awesomeos_beta_ostree_content' in content_names)
        self.assertFalse('awesomeos_htb_ostree_content' in content_names)