예제 #1
0
 def test_filter_without_label(self):
     """Test filtering using default label."""
     q = Query('Host')
     q.filter('hostname', '=', 'somehostname')
     expected = 'WHERE host.hostname = $filterval0'
     self.assertTrue(expected in str(q))
     self.assertEquals(q.params['filterval0'], 'somehostname')
예제 #2
0
 def test_multiple_filters(self):
     """Tests more than one filters."""
     q = Query('Host')
     q.filter('hostname', '=', 'somehostname')
     q.filter('kernel', '=', 'somekernel')
     expected = ('WHERE host.hostname = $filterval0 AND '
                 'host_state.kernel = $filterval1')
     self.assertTrue(expected in str(q))
예제 #3
0
 def test_filter_invalid_prop(self):
     """Test filtering with invalid property."""
     q = Query('Host')
     with self.assertRaises(InvalidPropertyError):
         q.filter('someinvalidprop', 'someop', 'someval')
예제 #4
0
 def test_filter_invalid_label(self):
     """Test filtering with invalid label."""
     q = Query('Host')
     with self.assertRaises(InvalidLabelError):
         q.filter('someprop', 'someop', 'someval', label='InvalidLabel')
예제 #5
0
 def test_filter_with_label(self):
     """Test filtering with a non default label."""
     q = Query('Host')
     q.filter('account_number', '=', 'somenumber', label='Environment')
     expected = 'WHERE environment.account_number = $filterval0'
     self.assertTrue(expected in str(q))