Example #1
0
 def test_asdict(self):
     class A(object):
         pass
     expected_attr = utils.random_string()
     expected_value = utils.random_string()
     setattr(A, expected_attr, None)
     record = query.GroongaRecord(A)
     setattr(record, expected_attr, expected_value)
     assert record.asdict() == {expected_attr: expected_value}
Example #2
0
 def test___init___with_class_and_kwargs(self):
     class A(object):
         pass
     expected_attr = utils.random_string()
     setattr(A, expected_attr, 'test')
     record = query.GroongaRecord(A, **{expected_attr: 'test'})
     assert getattr(record, expected_attr) == 'test'
Example #3
0
 def test_log_put(self, level):
     class A(object):
         pass
     msg = utils.random_string()
     q = query.SimpleQuery(A)
     result = q.log_put(level, msg)
     assert result is q
     assert str(result) == 'log_level %s %s' % (level, msg)
Example #4
0
 def test___init___with_params(self):
     host = utils.random_string()
     port = random.randint(0, 65535)
     encoding = random.choice(['euc-jp', 'sjis', 'latin1', 'koi8-r'])
     grn = Groonga(host=host, port=port, encoding=encoding)
     assert grn.host == host
     assert grn.port == port
     assert grn.encoding == encoding
     assert grn.connected is False
Example #5
0
    def test_truncate(self):
        expected = utils.random_string()

        class A(object):
            __tablename__ = expected
        q = query.SimpleQuery(A)
        result = q.truncate()
        assert result is q
        assert str(result) == 'truncate %s' % expected
Example #6
0
def test_connect():
    host = utils.random_string()
    port = random.randint(1025, 65535)
    with mock.patch('pyroonga.groonga.Context') as m:
        m.return_value.connect.return_value = 0
        grn = pyroonga.connect(host, port)
        assert isinstance(grn, pyroonga.Groonga)
        assert grn.host == host
        assert grn.port == port
        assert grn.connected is True
Example #7
0
 def test___setattr__(self):
     class A(object):
         foo = None
     record = query.GroongaRecord(A, foo='bar')
     assert record.foo == 'bar'
     assert object.__getattribute__(record, '__dirty') is False
     expected = utils.random_string()
     record.foo = expected
     assert record.foo == expected
     assert object.__getattribute__(record, '__dirty') is True
Example #8
0
 def test_connect_with_params(self):
     host = utils.random_string()
     port = random.randint(1025, 65535)
     grn = Groonga()
     grn._ctx = mock.MagicMock()
     grn._ctx.connect.return_value = 0
     assert grn.connected is False
     assert grn.host == '0.0.0.0'
     assert grn.port == 10041
     grn.connect(host=host, port=port)
     assert grn.connected is True
     assert grn.host == '0.0.0.0'
     assert grn.port == 10041
     assert grn._ctx.connect.mock_calls == [mock.call(host, port, flags=0)]
Example #9
0
 def test_commit(self, Table1):
     record1, record2, record3 = Table1.select().all()
     expected1, expected2, expected3 = [test_utils.random_string() for _ in
                                        range(3)]
     assert record1.name == 'foo'
     assert record2.name == 'bar'
     assert record3.name == 'baz'
     record1.name = expected1
     record1.commit()
     assert record1.name == expected1
     assert record2.name == 'bar'
     assert record3.name == 'baz'
     records = json.loads(test_utils.sendquery('select --table %s' %
                                               Table1.__tablename__))
     assert records[1][0][2:] == [[1, 'key1', expected1],
                                  [2, 'key2', 'bar'],
                                  [3, 'key3', 'baz']]
     record2.name = expected2
     record2.commit()
     assert record1.name == expected1
     assert record2.name == expected2
     assert record3.name == 'baz'
     records = json.loads(test_utils.sendquery('select --table %s' %
                                               Table1.__tablename__))
     assert records[1][0][2:] == [[1, 'key1', expected1],
                                  [2, 'key2', expected2],
                                  [3, 'key3', 'baz']]
     record3.name = expected3
     record3.commit()
     assert record1.name == expected1
     assert record2.name == expected2
     assert record3.name == expected3
     records = json.loads(test_utils.sendquery('select --table %s' %
                                               Table1.__tablename__))
     assert records[1][0][2:] == [[1, 'key1', expected1],
                                  [2, 'key2', expected2],
                                  [3, 'key3', expected3]]
Example #10
0
 def random_string(self):
     return utils.random_string()