Add comparison operators to KeyValue expression
Signed-off-by: davidarendsen <davidarendsen@hey.com>
This commit is contained in:
parent
bdc832aaab
commit
32e77b4ccd
5 changed files with 80 additions and 19 deletions
|
|
@ -8,15 +8,26 @@ final class KeyValueExpressionTest extends TestCase {
|
|||
|
||||
public function testSimpleKeyvalue()
|
||||
{
|
||||
$keyvalue = KeyValue::set('_measurement', 'test_measurement')
|
||||
->and('_field', 'user')
|
||||
->or('_field', 'field2')
|
||||
->and('user', 'my_username');
|
||||
$keyvalue = KeyValue::setEquals('_measurement', 'test_measurement')
|
||||
->andEquals('_field', 'user')
|
||||
->or('count', '>=', '1')
|
||||
->and('user', '==', 'my_username')
|
||||
->orEquals('test', 'world');
|
||||
|
||||
$query = 'r._measurement == "test_measurement" and r._field == "user" or ' .
|
||||
'r._field == "field2" and r.user == "my_username"';
|
||||
'r.count >= "1" and r.user == "my_username" or r.test == "world"';
|
||||
|
||||
$this->assertEquals($keyvalue->__toString(), $query);
|
||||
}
|
||||
|
||||
public function testInvalidOperator()
|
||||
{
|
||||
$this->expectException(Exception::class);
|
||||
|
||||
$keyvalue = KeyValue::set('_measurement', '9dkda9e', 'test_measurement')
|
||||
->andEquals('_field', 'user')
|
||||
->or('_field', '==', 'field2')
|
||||
->andEquals('user', 'my_username');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -9,10 +9,10 @@ final class FilterFunctionTest extends TestCase {
|
|||
|
||||
public function testSimpleFilter()
|
||||
{
|
||||
$expression = new Filter(KeyValue::set('_measurement', 'test_measurement')
|
||||
->and('_field', 'user')
|
||||
->or('_field', 'field2')
|
||||
->and('user', 'my_username')
|
||||
$expression = new Filter(KeyValue::setEquals('_measurement', 'test_measurement')
|
||||
->andEquals('_field', 'user')
|
||||
->orEquals('_field', 'field2')
|
||||
->andEquals('user', 'my_username')
|
||||
);
|
||||
|
||||
$query = '|> filter(fn: (r) => r._measurement == "test_measurement" and r._field == "user" or ' .
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ final class QueryBuilderTest extends TestCase {
|
|||
],
|
||||
'test_measurement',
|
||||
'-360h',
|
||||
new KeyValue('user', 'username'),
|
||||
KeyValue::setEquals('user', 'username'),
|
||||
'from(bucket: "example_bucket") |> range(start: "-360h") |> filter(fn: (r) => r._measurement == "test_measurement") ' .
|
||||
'|> filter(fn: (r) => r.user == "username") '
|
||||
],
|
||||
|
|
|
|||
Loading…
Add table
editor.link_modal.header
Reference in a new issue