コード例 #1
0
    def test_basic_update(self, test_data):
        """
        @feature: Permissions
        @test: try to update entity first with relevant permissionn
        @assert: entity is removed
        """
        entity = test_data()
        created = ApiCrud.record_create_recursive(entity)

        created = test_data._meta.change_for_update(created)
        user_definition = User()
        user_created = ApiCrud.record_create_recursive(user_definition)

        # user doesn't yet have relevant permission, action should fail
        with self.assertRaises(Exception):
            ApiCrud.record_update(created, user_definition)

        perm = ApiCrud.record_resolve(
            test_data._meta.api_class.permissions.update)
        add_permission_to_user(user_created, perm)
        # user should have the relevant permission, action should
        updated = ApiCrud.record_update(created, user_definition)
        del created["updated_at"]
        del updated["updated_at"]
        self.assertIntersects(created, updated)
コード例 #2
0
    def test_basic_update(self, test_data):
        """
        @feature: Permissions
        @test: try to update entity first with relevant permissionn
        @assert: entity is removed
        """
        entity = test_data()
        created = ApiCrud.record_create_recursive(entity)

        created = test_data._meta.change_for_update(created)
        user_definition = User()
        user_created = ApiCrud.record_create_recursive(user_definition)

        # user doesn't yet have relevant permission, action should fail
        with self.assertRaises(Exception):
            ApiCrud.record_update(created, user_definition)

        perm = ApiCrud.record_resolve(
            test_data._meta.api_class.permissions.update
            )
        add_permission_to_user(user_created, perm)
        # user should have the relevant permission, action should
        updated = ApiCrud.record_update(created, user_definition)
        del created["updated_at"]
        del updated["updated_at"]
        self.assertIntersects(created, updated)
コード例 #3
0
    def test_search_key_1(self, test_data):
        """
        @feature: Organizations
        @test: Create organization and search/find it
        @assert: organization can be found
        """

        ApiCrud.record_create(test_data)
        org_res = ApiCrud.record_resolve(test_data)
        self.assertEqual(org_res.name, test_data.name)
コード例 #4
0
    def test_info_key_1(self, test_data):
        """
        @feature: Organizations
        @test: Create single organization and get its info
        @assert: specific information for organization matches the
        creation values
        """

        org = ApiCrud.record_create(test_data)
        org_res = ApiCrud.record_resolve(org)
        self.assertEqual(org_res.name, test_data.name)
コード例 #5
0
    def test_search_key_1(self, test_data):
        """
        @feature: Organizations
        @test: Create organization and search/find it
        @assert: organization can be found
        @BZ: 1072905
        """

        ApiCrud.record_create(test_data)
        org_res = ApiCrud.record_resolve(test_data)
        self.assertEqual(org_res.name, test_data.name)
コード例 #6
0
ファイル: test_permission.py プロジェクト: jhutar/robottelo
    def test_basic_read(self, test_data):
        """
        @feature: Permissions
        @test: try to read entity first with relevant permissionn
        @assert: entity is created
        """
        entity = test_data()
        created = ApiCrud.record_create_recursive(entity)

        user_definition = User()
        user_created = ApiCrud.record_create_recursive(user_definition)

        # user doesn't yet have relevant permission, action should fail
        with self.assertRaises(Exception):
            ApiCrud.record_resolve(created, user_definition)

        perm = ApiCrud.record_resolve(test_data._meta.api_class.permissions.resolve)
        add_permission_to_user(user_created, perm)
        # user should have the relevant permission, action should work
        eres = ApiCrud.record_resolve(created, user_definition)
        self.assertIntersects(eres, created)
コード例 #7
0
 def test_positive_sync_1(self, test_data):
     """
     @feature: CustomYumRepo
     @test: Create and sync repo
     @assert: repo should have more than 0 packages
     """
     result = ApiCrud.record_create_recursive(test_data)
     self.assertEqual({}, result.content_counts)
     task = result._meta.api_class.synchronize(result)
     task.poll(5, 100)
     self.assertEqual('success', task.result())
     resolved = ApiCrud.record_resolve(result)
     self.assertGreater(resolved.content_counts['rpm'], 0)
コード例 #8
0
 def test_positive_sync_1(self, test_data):
     """
     @feature: CustomYumRepo
     @test: Create and sync repo
     @assert: repo should have more than 0 packages
     """
     result = ApiCrud.record_create_recursive(test_data)
     self.assertEqual({}, result.content_counts)
     task = result._meta.api_class.synchronize(result)
     task.poll(5, 100)
     self.assertEqual('success', task.result())
     resolved = ApiCrud.record_resolve(result)
     self.assertGreater(resolved.content_counts['rpm'], 0)
コード例 #9
0
    def test_basic_read(self, test_data):
        """
        @feature: Permissions
        @test: try to read entity first with relevant permissionn
        @assert: entity is created
        """
        entity = test_data()
        created = ApiCrud.record_create_recursive(entity)

        user_definition = User()
        user_created = ApiCrud.record_create_recursive(user_definition)

        # user doesn't yet have relevant permission, action should fail
        with self.assertRaises(Exception):
            ApiCrud.record_resolve(created, user_definition)

        perm = ApiCrud.record_resolve(
            test_data._meta.api_class.permissions.resolve)
        add_permission_to_user(user_created, perm)
        # user should have the relevant permission, action should work
        eres = ApiCrud.record_resolve(created, user_definition)
        self.assertIntersects(eres, created)
コード例 #10
0
 def test_host_collections(self, test_data):
     """
     @test: Verify, that you can add host collections
     @feature: ActivationKey
     @assert: there was no system group and you have added one
     """
     acc = ApiCrud.record_create(test_data)
     self.assertEqual(len(acc.host_collections), 0)
     sg = HostCollectionDefOrg()
     sgc = ApiCrud.record_create(sg)
     r = acc._meta.api_class.add_host_collection(acc, [sgc.id])
     self.assertTrue(r.ok)
     acr = ApiCrud.record_resolve(acc)
     self.assertEqual(len(acr.host_collections), 1)
コード例 #11
0
    def test_cv_promote_badenvironment_negative(self):
        """
        @test: attempt to promote a content view using an invalid environment
        @feature: Content Views
        @assert: Content views cannot be promoted; handled gracefully
        """
        con_view = ApiCrud.record_create_recursive(ContentViewDefinition())
        self.assertIntersects(data, con_view)
        task = con_view._meta.api_class.publish(con_view)
        task.poll(5, 100)  # poll every 5th second, max of 100 seconds
        self.assertEqual('success', task.result())
        published = ApiCrud.record_resolve(con_view)
        task = published._meta.api_class.promote(
            published.versions[0]['id'],
            -1
            )

        self.assertIn(
            'errors', task.json,
            "Shouldn't be promoted to invalid env")
コード例 #12
0
    def test_cv_promote_badenvironment_negative(self):
        """
        @test: attempt to promote a content view using an invalid environment
        @feature: Content Views
        @assert: Content views cannot be promoted; handled gracefully
        """
        con_view = ApiCrud.record_create_recursive(ContentViewDefinition())
        self.assertIntersects(data, con_view)
        task = con_view._meta.api_class.publish(con_view)
        task.poll(5, 100)  # poll every 5th second, max of 100 seconds
        self.assertEqual('success', task.result())
        published = ApiCrud.record_resolve(con_view)
        task = published._meta.api_class.promote(
            published.versions[0]['id'],
            -1
            )

        self.assertIn(
            'errors', task.json,
            "Shouldn't be promoted to invalid env")
コード例 #13
0
 def test_cv_promote_custom_content(self):
     """
     @test: attempt to promote a content view containing custom content
     @feature: Content Views
     @setup: Multiple environments for an org; custom content synced
     @assert: Content view can be promoted
     """
     con_view = ApiCrud.record_create_recursive(ContentViewDefinition())
     self.assertIntersects(data, con_view)
     task = con_view._meta.api_class.publish(con_view)
     task.poll(5, 100)  # poll every 5th second, max of 100 seconds
     self.assertEqual('success', task.result())
     published = ApiCrud.record_resolve(con_view)
     env = EnvironmentKatello(organization=published.organization)
     created_env = ApiCrud.record_create_recursive(env)
     task2 = published._meta.api_class.promote(
         published.versions[0]['id'],
         created_env.id
         )
     task2.poll(5, 100)  # poll every 5th second, max of 100 seconds
     self.assertEqual('success', task2.result())
コード例 #14
0
 def test_cv_promote_custom_content(self):
     """
     @test: attempt to promote a content view containing custom content
     @feature: Content Views
     @setup: Multiple environments for an org; custom content synced
     @assert: Content view can be promoted
     """
     con_view = ApiCrud.record_create_recursive(ContentViewDefinition())
     self.assertIntersects(data, con_view)
     task = con_view._meta.api_class.publish(con_view)
     task.poll(5, 100)  # poll every 5th second, max of 100 seconds
     self.assertEqual('success', task.result())
     published = ApiCrud.record_resolve(con_view)
     env = EnvironmentKatello(organization=published.organization)
     created_env = ApiCrud.record_create_recursive(env)
     task2 = published._meta.api_class.promote(
         published.versions[0]['id'],
         created_env.id
         )
     task2.poll(5, 100)  # poll every 5th second, max of 100 seconds
     self.assertEqual('success', task2.result())