Exemple #1
0
 def setUp(self):
     self.path = FauxFactory.generate_string(
         'utf8',
         FauxFactory.generate_integer(min_value=1, max_value=100)
     )
     self.desired = FauxFactory.generate_integer()
     self.response = MockResponse()
Exemple #2
0
 def get_value(self):
     """Return a value suitable for a :class:`StringField`."""
     return _get_value(
         self,
         lambda: FauxFactory.generate_string(
             FauxFactory.generate_choice(self.str_type),
             FauxFactory.generate_integer(1, self.max_len)
         )
     )
Exemple #3
0
    def test_max_val(self):
        """Set a ``max_val`` and call ``get_value``.

        Assert the number generated is less than or equal to the specified
        value.

        """
        max_val = FauxFactory.generate_integer()
        val = orm.IntegerField(max_val=max_val).get_value()
        self.assertLessEqual(val, max_val)
Exemple #4
0
    def test_min_val(self):
        """Set a ``min_val`` and call ``get_value``.

        Assert the number generated is greater than or equal to the specified
        value.

        """
        min_val = FauxFactory.generate_integer()
        val = orm.IntegerField(min_val=min_val).get_value()
        self.assertGreaterEqual(val, min_val)
Exemple #5
0
    def test_min_max_val(self):
        """Set both ``min_val`` and ``max_val`` and call ``get_value``.

        Assert the number generated falls between the specified bounds.

        """
        min_val = FauxFactory.generate_integer(-1000, 0)
        max_val = FauxFactory.generate_integer(0, 1000)

        # First, we'll allow a range of values...
        val = orm.IntegerField(min_val, max_val).get_value()
        self.assertGreaterEqual(val, min_val)
        self.assertLessEqual(val, max_val)

        # ... then, we'll allow only a single value...
        val = orm.IntegerField(min_val, min_val).get_value()
        self.assertEqual(val, min_val)

        # ... twice over, just to be sure.
        val = orm.IntegerField(max_val, max_val).get_value()
        self.assertEqual(val, max_val)
Exemple #6
0
    def _generate_name(self):
        """
        Generates a random name string.

        :return: A random string of random length.
        :rtype: str
        """

        name = unicode(FauxFactory.generate_string(
            FauxFactory.generate_choice(['alpha', 'cjk', 'latin1', 'utf8']),
            FauxFactory.generate_integer(1, 30)))

        return name
Exemple #7
0
    def setUp(self):  # pylint:disable=C0103
        """Back up and customize ``conf.properties`` and ``client.post``.

        Also generate a number suitable for use when instantiating entities.

        """
        self.conf_properties = conf.properties.copy()
        conf.properties['main.server.hostname'] = 'example.com'
        conf.properties['foreman.admin.username'] = '******'
        conf.properties['foreman.admin.password'] = '******'
        self.client_post = client.post
        # SomeEntity(id=self.entity_id)
        self.entity_id = FauxFactory.generate_integer(min_value=1)
Exemple #8
0
    def setUp(self):  # pylint:disable=C0103
        """Back up several objects so they can be safely modified.

        Also generate a number suitable for use as an entity ID.

        """
        self.client_delete = client.delete
        self.client_get = client.get
        self.conf_properties = conf.properties.copy()
        conf.properties['main.server.hostname'] = 'example.com'
        conf.properties['foreman.admin.username'] = '******'
        conf.properties['foreman.admin.password'] = '******'

        # e.g. SomeEntity(id=self.entity_id)
        self.entity_id = FauxFactory.generate_integer(min_value=1)
Exemple #9
0
    def test_get_per_page(self):
        """@Test: GET ``api/v2/hosts`` and specify the ``per_page`` parameter.

        @Feature: Host
        @Assert: HTTP 200 is returned, along with per ``per_page`` value.

        """
        per_page = FauxFactory.generate_integer(1, 1000)
        response = client.get(
            entities.Host().path(),
            auth=get_server_credentials(),
            params={'per_page': per_page},
            verify=False,
        )
        self.assertEqual(response.status_code, httplib.OK)
        self.assertEqual(response.json()['per_page'], per_page)
Exemple #10
0
    def test_get_search(self):
        """@Test: GET ``api/v2/hosts`` and specify the ``search`` parameter.

        @Feature: Host
        @Assert: HTTP 200 is returned, along with ``search`` term.

        """
        query = FauxFactory.generate_string(
            'utf8',
            FauxFactory.generate_integer(1, 100)
        )
        response = client.get(
            entities.Host().path(),
            auth=get_server_credentials(),
            params={'search': query},
            verify=False,
        )
        self.assertEqual(response.status_code, httplib.OK)
        self.assertEqual(response.json()['search'], query)
Exemple #11
0
    def test_delete_202(self):
        """Test :meth:`robottelo.orm.EntityDeleteMixin.delete`.

        Assert that ``EntityDeleteMixin.delete`` returns a task ID if it
        receives an HTTP 202 response.

        """
        # Create a mock server response object.
        foreman_task_id = FauxFactory.generate_integer()
        mock_response = mock.Mock()
        mock_response.status_code = 202
        mock_response.raise_for_status.return_value = None
        mock_response.json.return_value = {u'id': foreman_task_id}

        # Make `client.delete` return the above object.
        client.delete = mock.Mock(return_value=mock_response)

        # See if EntityDeleteMixin.delete behaves correctly.
        response = EntityWithDelete(id=self.entity_id).delete(
            synchronous=False
        )
        self.assertEqual(response, foreman_task_id)
Exemple #12
0
 def setUp(self):  # pylint:disable=C0103
     """Backup and customize ``conf.properties``, and generate an ID."""
     self.conf_properties = conf.properties.copy()
     conf.properties['main.server.hostname'] = 'example.com'
     self.id_ = FauxFactory.generate_integer(min_value=1)
Exemple #13
0
 def __init__(self):
     self.status_code = FauxFactory.generate_integer()
Exemple #14
0

ARCHITECTURES = [u"i386", u"x86_64", u"ppc", u"s390x"]

# https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Version_history
DISTRO_IDS = [
    {
        u"id": u"Maipo",
        u"version": u"7.0",
        # There is no 'i386' for RHEL 7
        u"architecture": FauxFactory.generate_choice(ARCHITECTURES[1:]),
        u"kernel": u"3.10.0-123.el7",
    },
    {
        u"id": u"Santiago",
        u"version": u"6.{0}".format(FauxFactory.generate_integer(1, 5)),
        u"architecture": FauxFactory.generate_choice(ARCHITECTURES),
        u"kernel": u"2.6.32-431.el6",
    },
    {
        u"id": u"Tikanga",
        u"version": u"5.{0}".format(FauxFactory.generate_integer(1, 10)),
        u"architecture": FauxFactory.generate_choice(ARCHITECTURES),
        u"kernel": u"2.6.18-371.el5",
    },
    {
        u"id": u"Nahant",
        u"version": u"4.{0}".format(FauxFactory.generate_integer(1, 9)),
        # Assuming only 'i386' and 'x86_64'
        u"architecture": FauxFactory.generate_choice(ARCHITECTURES[:2]),
        u"kernel": u"2.6.9-100.el4",
Exemple #15
0
 def get_value(self):
     """Return a value suitable for a :class:`IntegerField`."""
     return _get_value(
         self,
         FauxFactory.generate_integer(self.min_val, self.max_val)
     )
Exemple #16
0
 def setUp(self):  # pylint:disable=C0103
     """Back up objects and generate common values."""
     self.rm_backup = decorators._get_redmine_bug_status_id
     self.stat_backup = decorators._redmine_closed_issue_statuses
     decorators._redmine_closed_issue_statuses = lambda: [1, 2]
     self.bug_id = FauxFactory.generate_integer()
Exemple #17
0
 def setUp(self):  # pylint:disable=C0103
     """Back up objects and generate common values."""
     self.backup = decorators._get_bugzilla_bug
     self.bug_id = FauxFactory.generate_integer()