コード例 #1
0
ファイル: core_test.py プロジェクト: beylsp/android-acts
    def test_publish_multiple_binaries(self, dump_string_to_file, makedirs):
        del makedirs
        context = Mock()
        context.get_full_output_path.return_value = 'output/path'
        metric_1 = Mock()
        metric_2 = Mock()
        binary_1 = Mock()
        binary_2 = Mock()
        metric_1.get_binary = Mock(return_value=binary_1)
        metric_2.get_binary = Mock(return_value=binary_2)
        metric_1.name = 'metric_1'
        metric_2.name = 'metric_2'
        publisher = ProtoMetricPublisher(
            context,
            publishes_binary=True,
            publishes_ascii=False,
            publishes_descriptor_binary=False,
            publishes_descriptor_ascii=False)

        publisher.publish([metric_1, metric_2])

        file_path_1 = ('output/path/metrics/metric_1.' +
                      ProtoMetricPublisher.BINARY_EXTENSION)
        file_path_2 = ('output/path/metrics/metric_2.' +
                      ProtoMetricPublisher.BINARY_EXTENSION)

        call_1 = call(binary_1, file_path_1, mode='wb')
        call_2 = call(binary_2, file_path_2, mode='wb')
        dump_string_to_file.assert_has_calls([call_1, call_2])
コード例 #2
0
ファイル: core_test.py プロジェクト: beylsp/android-acts
    def test_get_output_path(self):
        context = Mock()
        context.get_full_output_path.return_value = 'output/path'

        publisher = ProtoMetricPublisher(context)
        output_path = publisher.get_output_path()

        metrics_output_path = 'output/path/metrics'
        self.assertEqual(output_path, metrics_output_path)
        context.get_full_output_path.assert_called_once_with()
コード例 #3
0
ファイル: core_test.py プロジェクト: beylsp/android-acts
    def test_publish_all_disabled(self, dump_string_to_file, makedirs):
        del makedirs
        context = Mock()
        context.get_full_output_path.return_value = 'output/path'
        metrics = [Mock()]
        publisher = ProtoMetricPublisher(
            context,
            publishes_binary=False,
            publishes_ascii=False,
            publishes_descriptor_binary=False,
            publishes_descriptor_ascii=False)

        publisher.publish(metrics)

        assert not dump_string_to_file.called
コード例 #4
0
ファイル: core_test.py プロジェクト: beylsp/android-acts
    def test_publish_makes_dirs(self, dump_string_to_file, makedirs):
        del dump_string_to_file
        context = Mock()
        context.get_full_output_path.return_value = 'output/path'
        metrics = [Mock()]
        publisher = ProtoMetricPublisher(
            context,
            publishes_binary=False,
            publishes_ascii=False,
            publishes_descriptor_binary=False,
            publishes_descriptor_ascii=False)

        publisher.publish(metrics)

        metrics_output_path= 'output/path/metrics'
        makedirs.assert_called_once_with(metrics_output_path, exist_ok=True)
コード例 #5
0
ファイル: core_test.py プロジェクト: beylsp/android-acts
    def test_default_init_publishes_everything(self):
        context = Mock()
        context.get_full_output_path.return_value = 'output/path'
        publisher = ProtoMetricPublisher(context)

        self.assertEqual(publisher.publishes_binary, True)
        self.assertEqual(publisher.publishes_ascii, True)
        self.assertEqual(publisher.publishes_descriptor_binary, True)
        self.assertEqual(publisher.publishes_descriptor_ascii, True)
コード例 #6
0
ファイル: core_test.py プロジェクト: beylsp/android-acts
    def test_publish_ascii_descriptor(self, dump_string_to_file, makedirs):
        del makedirs
        context = Mock()
        context.get_full_output_path.return_value = 'output/path'
        metric = Mock()
        descriptor_ascii = Mock()
        metric.get_ascii = Mock(return_value=descriptor_ascii)
        metric.name = 'metric'
        publisher = ProtoMetricPublisher(
            context,
            publishes_binary=False,
            publishes_ascii=True,
            publishes_descriptor_binary=False,
            publishes_descriptor_ascii=False)

        publisher.publish([metric])

        file_path = ('output/path/metrics/metric.' +
                    ProtoMetricPublisher.ASCII_EXTENSION)
        dump_string_to_file.assert_called_once_with(
            descriptor_ascii,
            file_path)
コード例 #7
0
ファイル: core_test.py プロジェクト: beylsp/android-acts
    def test_init_attributes(self):
        context = Mock()
        context.get_full_output_path.return_value = 'output/path'
        publishes_binary = Mock()
        publishes_ascii = Mock()
        publishes_descriptor_binary = Mock()
        publishes_descriptor_ascii = Mock()

        publisher = ProtoMetricPublisher(
            context,
            publishes_binary=publishes_binary,
            publishes_ascii=publishes_ascii,
            publishes_descriptor_binary=publishes_descriptor_binary,
            publishes_descriptor_ascii=publishes_descriptor_ascii)

        self.assertEqual(publisher.context, context)
        self.assertEqual(publisher.publishes_binary, publishes_binary)
        self.assertEqual(publisher.publishes_ascii, publishes_ascii)
        self.assertEqual(publisher.publishes_descriptor_binary,
                         publishes_descriptor_binary)
        self.assertEqual(publisher.publishes_descriptor_ascii,
                         publishes_descriptor_ascii)
コード例 #8
0
 def _get_default_publisher(self, _):
     """Get the default publisher for the given event."""
     return ProtoMetricPublisher(self.context)