コード例 #1
0
  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"]]]))
コード例 #2
0
    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)