def test_get_revenue_value__revenue_tag(self): """ Test that correct revenue value is returned. """ self.assertEqual(0, event_tag_utils.get_revenue_value({'revenue': 0})) self.assertEqual(65536, event_tag_utils.get_revenue_value({'revenue': 65536})) self.assertEqual( 9223372036854775807, event_tag_utils.get_revenue_value({'revenue': 9223372036854775807}))
def _create_visitor(cls, event, logger): """ Helper method to create Visitor instance for event_batch. Args: event: Instance of UserEvent. logger: Provides a logger instance. Returns: Instance of Visitor. None if: - event is invalid. """ if isinstance(event, user_event.ImpressionEvent): metadata = payload.Metadata(event.flag_key, event.rule_key, event.rule_type, event.variation.key) decision = payload.Decision(event.experiment.layerId, event.experiment.id, event.variation.id, metadata) snapshot_event = payload.SnapshotEvent( event.experiment.layerId, event.uuid, cls.ACTIVATE_EVENT_KEY, event.timestamp, ) snapshot = payload.Snapshot([snapshot_event], [decision]) visitor = payload.Visitor([snapshot], event.visitor_attributes, event.user_id) return visitor elif isinstance(event, user_event.ConversionEvent): revenue = event_tag_utils.get_revenue_value(event.event_tags) value = event_tag_utils.get_numeric_value(event.event_tags, logger) snapshot_event = payload.SnapshotEvent( event.event.id, event.uuid, event.event.key, event.timestamp, revenue, value, event.event_tags, ) snapshot = payload.Snapshot([snapshot_event]) visitor = payload.Visitor([snapshot], event.visitor_attributes, event.user_id) return visitor else: logger.error('Invalid user event.') return None
def test_get_revenue_value__invalid_revenue_tag(self): """ Test that revenue value is not returned when revenue event tag has invalid data type. """ self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': None})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': 0.5})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': '65536'})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': True})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': False})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': [1, 2, 3]})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': {'a', 'b', 'c'}}))
def test_get_revenue_value__invalid_args(self): """ Test that revenue value is not returned for invalid arguments. """ self.assertIsNone(event_tag_utils.get_revenue_value(None)) self.assertIsNone(event_tag_utils.get_revenue_value(0.5)) self.assertIsNone(event_tag_utils.get_revenue_value(65536)) self.assertIsNone(event_tag_utils.get_revenue_value(9223372036854775807)) self.assertIsNone(event_tag_utils.get_revenue_value('9223372036854775807')) self.assertIsNone(event_tag_utils.get_revenue_value(True)) self.assertIsNone(event_tag_utils.get_revenue_value(False))
def test_get_revenue_value__invalid_args(self): """ Test that revenue value is not returned for invalid arguments. """ self.assertIsNone(event_tag_utils.get_revenue_value(None)) self.assertIsNone(event_tag_utils.get_revenue_value(0.5)) self.assertIsNone(event_tag_utils.get_revenue_value(65536)) self.assertIsNone( event_tag_utils.get_revenue_value(9223372036854775807)) self.assertIsNone( event_tag_utils.get_revenue_value('9223372036854775807')) self.assertIsNone(event_tag_utils.get_revenue_value(True)) self.assertIsNone(event_tag_utils.get_revenue_value(False))
def test_get_revenue_value__invalid_revenue_tag(self): """ Test that revenue value is not returned when revenue event tag has invalid data type. """ self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': None})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': 0.5})) self.assertIsNone( event_tag_utils.get_revenue_value({'revenue': '65536'})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': True})) self.assertIsNone(event_tag_utils.get_revenue_value({'revenue': False})) self.assertIsNone( event_tag_utils.get_revenue_value({'revenue': [1, 2, 3]})) self.assertIsNone( event_tag_utils.get_revenue_value({'revenue': {'a', 'b', 'c'}}))
def test_get_revenue_value__revenue_tag(self): """ Test that correct revenue value is returned. """ self.assertEqual(0, event_tag_utils.get_revenue_value({'revenue': 0})) self.assertEqual(65536, event_tag_utils.get_revenue_value({'revenue': 65536})) self.assertEqual(9223372036854775807, event_tag_utils.get_revenue_value({'revenue': 9223372036854775807}))
def test_get_revenue_value__no_revenue_tag(self): """ Test that revenue value is not returned when there's no revenue event tag. """ self.assertIsNone(event_tag_utils.get_revenue_value([])) self.assertIsNone(event_tag_utils.get_revenue_value({})) self.assertIsNone(event_tag_utils.get_revenue_value({'non-revenue': 42}))
def test_get_revenue_value__no_revenue_tag(self): """ Test that revenue value is not returned when there's no revenue event tag. """ self.assertIsNone(event_tag_utils.get_revenue_value([])) self.assertIsNone(event_tag_utils.get_revenue_value({})) self.assertIsNone( event_tag_utils.get_revenue_value({'non-revenue': 42}))