def new_category():
    category = Category(name="tag_vis_" + fauxfactory.gen_alpha(8).lower(),
                        description="tag_vis_" + fauxfactory.gen_alphanumeric(),
                        display_name="tag_vis_" + fauxfactory.gen_alphanumeric())
    category.create()
    yield category
    category.delete(cancel=False)
Example #2
0
def category():
    cg = Category(name=generate_lowercase_random_string(size=8),
                  description=generate_random_string(size=32),
                  display_name=generate_random_string(size=32))
    cg.create()
    yield cg
    cg.delete()
Example #3
0
def category():
    cg = Category(name=fauxfactory.gen_alphanumeric(8).lower(),
                  description=fauxfactory.gen_alphanumeric(32),
                  display_name=fauxfactory.gen_alphanumeric(32))
    cg.create()
    yield cg
    cg.delete()
Example #4
0
def category():
    """
        Returns random created category object
        Object can be used in all test run session
    """
    cg = Category(name=fauxfactory.gen_alpha(8).lower(),
                  description=fauxfactory.gen_alphanumeric(length=32),
                  display_name=fauxfactory.gen_alphanumeric(length=32))
    cg.create()
    yield cg
    cg.delete(False)
Example #5
0
 def get_tags_db(self):
     """
     Gets tags detail from database
     Column order: `tag_id`, `db_id`, `category`, `tag_name`, `single_value`
     """
     # Some times object of db_id might changed in database, when we do CRUD operations,
     # do update now
     self.load_details(refresh=True)
     if not self.db_id or not self.taggable_type:
         raise KeyError("'db_id' and/or 'taggable_type' not set")
     t_cls1 = aliased(self.appliance.db['classifications'])
     t_cls2 = aliased(self.appliance.db['classifications'])
     t_tgg = aliased(self.appliance.db['taggings'])
     query = self.appliance.db.session.query(t_cls1.tag_id, t_tgg.taggable_id.label('db_id'),
                                    t_cls2.description.label('category'),
                                    t_cls1.description.label('tag_name'), t_cls1.single_value)\
         .join(t_cls2, t_cls1.parent_id == t_cls2.id)\
         .join(t_tgg, t_tgg.tag_id == t_cls1.tag_id)\
         .filter(t_tgg.taggable_id == self.db_id)\
         .filter(t_tgg.taggable_type == self.taggable_type)
     tags = []
     for tag in query.all():
         tags.append(
             Tag(category=Category(display_name=tag.category,
                                   single_value=tag.single_value),
                 display_name=tag.tag_name))
     return tags
def new_tag(new_category):
    category = Category(name=new_category.name, display_name=new_category.display_name)
    tag = Tag(name="tag_vis_" + fauxfactory.gen_alphanumeric().lower(),
              display_name="tag_vis_" + fauxfactory.gen_alphanumeric().lower(),
              category=category)
    tag.create()
    yield tag
    tag.delete(cancel=False)
def test_tags(provider):
    """Tests tags in server page

    Steps:
        * Select a server randomly from database
        * Run `validate_tags` with `tags` input
    """
    tags = [
        Tag(category=Category(display_name='Environment', single_value=True), display_name='Test'),
        Tag(category=Category(display_name='Location', single_value=True), display_name='New York'),
        Tag(category=Category(display_name='Workload', single_value=False),
            display_name='Application Servers'),
    ]
    servers_db = MiddlewareServer.servers_in_db(provider=provider)
    assert len(servers_db) > 0, "There is no server(s) available in DB"
    server = get_random_list(servers_db, 1)[0]
    server.validate_tags(tags=tags)
def test_tags(provider):
    """Tests tags in provider page

    Steps:
        * Run `validate_tags` with `tags` input
    """
    tags = [
        Tag(category=Category(display_name='Department', single_value=False),
            display_name='Engineering'),
        Tag(category=Category(display_name='Environment', single_value=True),
            display_name='Test'),
        Tag(category=Category(display_name='Location', single_value=True),
            display_name='Paris'),
        Tag(category=Category(display_name='Service Level', single_value=True),
            display_name='Gold'),
    ]
    provider.validate_tags(tags=tags)
Example #9
0
 def get_tags(self, tag="My Company Tags"):
     self.load_details(refresh=True)
     tags = []
     # Sample out put from UI, [u'Department: Accounting | Engineering', u'Location: London']
     for _tag in mixins.get_tags(tag=tag):
         if _tag == 'No {} have been assigned'.format(tag):
             return tags
         _tag = _tag.split(':', 1)
         if len(_tag) != 2:
             raise RuntimeError('Unknown format of tagging in UI [{}]'.format(_tag))
         if ' | ' in _tag[1]:
             for _sub_tag in _tag[1].split(' | '):
                 tags.append(Tag(category=Category(display_name=tag[0], single_value=None),
                                 display_name=_sub_tag.strip()))
         else:
             tags.append(Tag(category=Category(display_name=_tag[0], single_value=None),
                             display_name=_tag[1].strip()))
     return tags
def test_category_crud():
    cg = Category(name=generate_lowercase_random_string(size=8),
                  description=generate_random_string(size=32),
                  display_name=generate_random_string(size=32))
    cg.create()
    with update(cg):
        cg.description = generate_random_string(size=32)
    cg.delete(cancel=False)
def test_category_crud():
    cg = Category(name=fauxfactory.gen_alphanumeric(8).lower(),
                  description=fauxfactory.gen_alphanumeric(32),
                  display_name=fauxfactory.gen_alphanumeric(32))
    cg.create()
    with update(cg):
        cg.description = fauxfactory.gen_alphanumeric(32)
    cg.delete(cancel=False)
Example #12
0
def category():
    cg = Category(name=fauxfactory.gen_alpha(8).lower(),
                  description=fauxfactory.gen_alphanumeric(length=32),
                  display_name=fauxfactory.gen_alphanumeric(length=32))
    cg.create()
    yield cg
    cg.delete()
def new_category():
    category = Category(name="tag_vis_" + fauxfactory.gen_alpha(8).lower(),
                        description="tag_vis_" + fauxfactory.gen_alphanumeric(),
                        display_name="tag_vis_" + fauxfactory.gen_alphanumeric())
    category.create()
    yield category
    category.delete(cancel=False)
def category():
    cg = Category(name=generate_lowercase_random_string(size=8),
                  description=generate_random_string(size=32),
                  display_name=generate_random_string(size=32))
    cg.create()
    yield cg
    cg.delete()
def test_category_crud():
    cg = Category(name=fauxfactory.gen_alphanumeric(8).lower(),
                  description=fauxfactory.gen_alphanumeric(32),
                  display_name=fauxfactory.gen_alphanumeric(32))
    cg.create()
    with update(cg):
        cg.description = fauxfactory.gen_alphanumeric(32)
    cg.delete(cancel=False)
Example #16
0
def category():
    """
        Returns random created category object
        Object can be used in all test run session
    """
    cg = Category(name=fauxfactory.gen_alpha(8).lower(),
                  description=fauxfactory.gen_alphanumeric(length=32),
                  display_name=fauxfactory.gen_alphanumeric(length=32))
    cg.create()
    yield cg
    cg.delete(False)
from cfme.middleware.deployment import MiddlewareDeployment
from cfme.middleware.domain import MiddlewareDomain
from cfme.middleware.server_group import MiddlewareServerGroup
from cfme.middleware.messaging import MiddlewareMessaging
from random_methods import get_random_object
from cfme.utils import testgen
from cfme.utils.version import current_version

pytestmark = [
    pytest.mark.usefixtures('setup_provider'),
    pytest.mark.uncollectif(lambda: current_version() < '5.7'),
]
pytest_generate_tests = testgen.generate([HawkularProvider], scope="function")

tags = [
    Tag(category=Category(display_name='Environment', single_value=True),
        display_name='Test'),
    Tag(category=Category(display_name='Location', single_value=True),
        display_name='New York'),
    Tag(category=Category(display_name='Workload', single_value=False),
        display_name='Application Servers'),
]


@pytest.mark.parametrize("objecttype", [
    MiddlewareDatasource, MiddlewareDeployment, HawkularProvider,
    MiddlewareServer, MiddlewareDomain, MiddlewareMessaging,
    MiddlewareServerGroup
])
def test_object_tags(provider, objecttype):
    """Tests tags in all taggable pages