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}
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'
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)
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
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
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
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
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)]
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]]
def random_string(self): return utils.random_string()