def test_create_user_event(self): USER_EVENT = {"event_type": "page-visit", "user_info": {"visitor_id": "1"}} with TestPipeline(is_integration_test=True) as p: output = ( p | 'Create data' >> beam.Create([USER_EVENT]) | 'Create UserEvent' >> recommendations_ai.WriteUserEvent(project=p.get_option('project')) | beam.ParDo(extract_event_type) | beam.combiners.ToList()) assert_that(output, equal_to([[USER_EVENT["event_type"]]]))
def test_CreateUserEvent(self): expected_counter = 1 with mock.patch.object(recommendations_ai, 'get_recommendation_user_event_client', return_value=self._mock_client): p = beam.Pipeline() _ = (p | "Create data" >> beam.Create([self._user_event]) | "Create UserEvent" >> recommendations_ai.WriteUserEvent(project="test")) result = p.run() result.wait_until_finish() read_filter = MetricsFilter().with_name('api_calls') query_result = result.metrics().query(read_filter) if query_result['counters']: read_counter = query_result['counters'][0] self.assertTrue(read_counter.result == expected_counter)