Example #1
0
 def test_iter(setup_database):
     """
     Passes test if `__iter__()` call on the
     `_TableIter` `instance` returns themself.
     """
     instance = _TableIter(_Table(setup_database, TABLE, PRIMARY_KEY))
     assert isinstance(instance.__iter__(), _TableIter)
Example #2
0
 def test_get_column_names(setup_database):
     """
     Passes test if `get_column_names()` method of the
     `_Table` `instance` returns valid column names.
     """
     instance = _Table(setup_database, TABLE, PRIMARY_KEY)
     assert instance.get_column_names() == COLUMN_NAMES
Example #3
0
 def test_attributes(setup_database):
     """
     Passes test if `_Table` `instance` saves
     attributes with which it was initialized.
     """
     instance = _Table(setup_database, TABLE, PRIMARY_KEY)
     assert (instance.database_name == setup_database)  # pylint: disable=comparison-with-callable
     assert instance.table_name == TABLE
     assert instance.primary_key == PRIMARY_KEY
Example #4
0
 def test_get_cursor(setup_database, sql_expression: str,
                     expected_result: Any):
     """
     Passes test if `get_cursor(sql_expression).fetchall()`
     of the `_Table` `instance` returns `expected_result`.
     """
     instance = _Table(setup_database, TABLE, PRIMARY_KEY)
     assert instance.get_cursor(
         sql_expression).fetchall() == expected_result
Example #5
0
    def test_next(setup_database):
        """
        Passes test if `next()` and `__next__()` on the
        `_TableIter` `instance` returns correct results.
        """
        instance = _TableIter(_Table(setup_database, TABLE, PRIMARY_KEY))

        first = next(instance)
        second = instance.__next__()
        third = instance.__next__

        assert [first, second, third()] == RECORDS
Example #6
0
    def test_next_stop_iteration(setup_database):
        """
        Passes test if extra `next()` call on the
        `_TableIter` `instance` raises `StopIteration`.
        """
        instance = _TableIter(_Table(setup_database, TABLE, PRIMARY_KEY))

        next(instance)
        next(instance)
        next(instance)

        with pytest.raises(StopIteration):
            next(instance)
Example #7
0
    def test_assertion_error(setup_database):
        """
        Passes test if `_Table` `instance` attributes are not
        accesseble for resetting and raises `AttributeError`.
        """
        instance = _Table(setup_database, TABLE, PRIMARY_KEY)

        with pytest.raises(AttributeError):
            instance.database_name = "new value"

        with pytest.raises(AttributeError):
            instance.table_name = "new value"

        with pytest.raises(AttributeError):
            instance.primary_key = "new value"