def test_snapshot_event_transform(self):
        LOG.debug('Test tactual transform action for '
                  'snapshot and snapshot init events')

        k8s_spec_list = \
            mock_sync.simple_k8s_nodes_generators(nodes_num=2,
                                                  snapshot_events=1)

        nodes_events = mock_sync.generate_random_events_list(k8s_spec_list)

        for event in nodes_events:

            k8s_wrapper = self.transformers[KUBERNETES_DATASOURCE].transform(
                event)

            # Test assertions
            self.assertEqual(cluster_name, k8s_wrapper.vertex[VProps.NAME])
            n_length = str(len(k8s_wrapper.neighbors))
            self.assertThat(n_length, matchers.HasLength(1),
                            'Cluster vertex has one neighbor')
            self._validate_cluster_neighbors(k8s_wrapper.neighbors, event)
            datasource_action = event[DSProps.DATASOURCE_ACTION]
            if datasource_action == DatasourceAction.INIT_SNAPSHOT:
                self.assertEqual(GraphAction.CREATE_ENTITY, k8s_wrapper.action)
            elif datasource_action == DatasourceAction.SNAPSHOT:
                self.assertEqual(GraphAction.UPDATE_ENTITY, k8s_wrapper.action)
    def test_create_entity_key(self):
        LOG.debug('Test get key from kubernetes transformer')

        # Test setup
        spec_list = mock_sync.simple_k8s_nodes_generators(nodes_num=1,
                                                          snapshot_events=1)

        nodes_events = mock_sync.generate_random_events_list(spec_list)

        kubernetes_transformer = self.transformers[KUBERNETES_DATASOURCE]
        for event in nodes_events:
            # Test action
            observed_key = kubernetes_transformer._create_entity_key(event)

            # Test assertions
            observed_key_fields = observed_key.split(
                TransformerBase.KEY_SEPARATOR)

            self.assertEqual(EntityCategory.RESOURCE, observed_key_fields[0])
            self.assertEqual(
                KUBERNETES_DATASOURCE,
                observed_key_fields[1]
            )

            key_values = kubernetes_transformer._key_values(
                KUBERNETES_DATASOURCE,
                cluster_name)
            expected_key = tbase.build_key(key_values)

            self.assertEqual(expected_key, observed_key)