예제 #1
0
    def test_to_trait_with_plugin_null(self):
        cfg = dict(type='text',
                   fields=['payload.instance_id', 'payload.instance_uuid'],
                   plugin=dict(name='nothing'))

        tdef = converter.TraitDefinition('test_trait', cfg,
                                         self.fake_plugin_mgr)
        t = tdef.to_trait(self.n1)
        self.assertIsNone(t)
        self.nothing_plugin_class.assert_called_once_with()
        self.nothing_plugin.trait_values.assert_called_once_with([
            ('payload.instance_id', 'id-for-instance-0001'),
            ('payload.instance_uuid', 'uuid-for-instance-0001')
        ])
예제 #2
0
    def test_to_trait_null_match_with_plugin(self):
        cfg = dict(type='text',
                   fields=['payload.nothere', 'payload.bogus'],
                   plugin=dict(name='test'))

        tdef = converter.TraitDefinition('test_trait', cfg,
                                         self.fake_plugin_mgr)
        t = tdef.to_trait(self.n1)
        self.assertIsInstance(t, models.Trait)
        self.assertEqual('test_trait', t.name)
        self.assertEqual(models.Trait.TEXT_TYPE, t.dtype)
        self.assertEqual('foobar', t.value)
        self.test_plugin_class.assert_called_once_with()
        self.test_plugin.trait_values.assert_called_once_with([])
예제 #3
0
    def test_to_trait_with_plugin_with_parameters(self):
        cfg = dict(type='text',
                   fields=['payload.instance_id', 'payload.instance_uuid'],
                   plugin=dict(name='test', parameters=dict(a=1, b='foo')))

        tdef = converter.TraitDefinition('test_trait', cfg,
                                         self.fake_plugin_mgr)
        t = tdef.to_trait(self.n1)
        self.assertIsInstance(t, models.Trait)
        self.assertEqual('test_trait', t.name)
        self.assertEqual(models.Trait.TEXT_TYPE, t.dtype)
        self.assertEqual('foobar', t.value)
        self.test_plugin_class.assert_called_once_with(a=1, b='foo')
        self.test_plugin.trait_value.assert_called_once_with([
            ('payload.instance_id', 'id-for-instance-0001'),
            ('payload.instance_uuid', 'uuid-for-instance-0001')])
예제 #4
0
 def test_list_fields_config(self):
     cfg = dict(fields=['payload.test', 'payload.other'])
     t = converter.TraitDefinition('test_trait', cfg, self.fake_plugin_mgr)
     self.assertPathsEqual(
         t.fields,
         jsonpath_rw.parse('(payload.test)|(payload.other)'))
예제 #5
0
 def test_string_fields_config(self):
     cfg = dict(fields='payload.test')
     t = converter.TraitDefinition('test_trait', cfg, self.fake_plugin_mgr)
     self.assertPathsEqual(t.fields, jsonpath_rw.parse('payload.test'))
예제 #6
0
 def test_to_trait_empty_nontext(self):
     cfg = dict(type='datetime', fields='payload.bogus_date')
     tdef = converter.TraitDefinition('test_trait', cfg,
                                      self.fake_plugin_mgr)
     t = tdef.to_trait(self.n1)
     self.assertIs(None, t)
예제 #7
0
 def test_to_trait_null(self):
     cfg = dict(type='text', fields='payload.instance_id2')
     tdef = converter.TraitDefinition('test_trait', cfg,
                                      self.fake_plugin_mgr)
     t = tdef.to_trait(self.n1)
     self.assertIs(None, t)
예제 #8
0
 def test_to_trait_missing(self):
     cfg = dict(type='text', fields='payload.not_here_boss')
     tdef = converter.TraitDefinition('test_trait', cfg,
                                      self.fake_plugin_mgr)
     t = tdef.to_trait(self.n1)
     self.assertIs(None, t)