def test_basic_crashstorage(self):

        required_config = Namespace()

        mock_logging = Mock()
        required_config.add_option('logger', default=mock_logging)
        required_config.update(CrashStorageBase.required_config)

        config_manager = ConfigurationManager(
            [required_config],
            app_name='testapp',
            app_version='1.0',
            app_description='app description',
            values_source_list=[{
                'logger': mock_logging,
            }],
            argv_source=[])

        with config_manager.context() as config:
            crashstorage = CrashStorageBase(
                config, quit_check_callback=fake_quit_check)
            crashstorage.save_raw_crash({}, 'payload', 'ooid')
            crashstorage.save_processed({})
            assert_raises(NotImplementedError, crashstorage.get_raw_crash,
                          'ooid')
            assert_raises(NotImplementedError, crashstorage.get_raw_dump,
                          'ooid')
            assert_raises(NotImplementedError,
                          crashstorage.get_unredacted_processed, 'ooid')
            assert_raises(NotImplementedError, crashstorage.remove, 'ooid')
            eq_(crashstorage.new_crashes(), [])
            crashstorage.close()
Example #2
0
    def test_basic_crashstorage(self):

        required_config = Namespace()

        mock_logging = Mock()
        required_config.add_option("logger", default=mock_logging)
        required_config.update(CrashStorageBase.required_config)

        config_manager = ConfigurationManager(
            [required_config],
            app_name="testapp",
            app_version="1.0",
            app_description="app description",
            values_source_list=[{"logger": mock_logging}],
            argv_source=[],
        )

        with config_manager.context() as config:
            crashstorage = CrashStorageBase(config, quit_check_callback=fake_quit_check)
            crashstorage.save_raw_crash({}, "payload", "ooid")
            crashstorage.save_processed({})
            assert_raises(NotImplementedError, crashstorage.get_raw_crash, "ooid")
            assert_raises(NotImplementedError, crashstorage.get_raw_dump, "ooid")
            assert_raises(NotImplementedError, crashstorage.get_unredacted_processed, "ooid")
            assert_raises(NotImplementedError, crashstorage.remove, "ooid")
            eq_(crashstorage.new_crashes(), [])
            crashstorage.close()
    def test_basic_crashstorage(self):

        required_config = Namespace()

        mock_logging = Mock()
        required_config.add_option('logger', default=mock_logging)

        config_manager = ConfigurationManager(
          [required_config],
          app_name='testapp',
          app_version='1.0',
          app_description='app description',
          values_source_list=[{
            'logger': mock_logging,
          }]
        )

        with config_manager.context() as config:
            crashstorage = CrashStorageBase(
              config,
              quit_check_callback=fake_quit_check
            )
            crashstorage.save_raw_crash({}, 'payload', 'ooid')
            crashstorage.save_processed({})
            self.assertRaises(NotImplementedError,
                              crashstorage.get_raw_crash, 'ooid')
            self.assertRaises(NotImplementedError,
                              crashstorage.get_raw_dump, 'ooid')
            self.assertRaises(NotImplementedError,
                              crashstorage.get_processed, 'ooid')
            self.assertRaises(NotImplementedError,
                              crashstorage.remove, 'ooid')
            self.assertEquals(crashstorage.new_crashes(), [])
            crashstorage.close()
Example #4
0
    def test_basic_crashstorage(self):

        required_config = Namespace()

        mock_logging = Mock()
        required_config.add_option('logger', default=mock_logging)
        required_config.update(CrashStorageBase.required_config)

        config_manager = ConfigurationManager(
          [required_config],
          app_name='testapp',
          app_version='1.0',
          app_description='app description',
          values_source_list=[{
            'logger': mock_logging,
          }],
          argv_source=[]
        )

        with config_manager.context() as config:
            crashstorage = CrashStorageBase(
              config,
              quit_check_callback=fake_quit_check
            )
            crashstorage.save_raw_crash({}, 'payload', 'ooid')
            crashstorage.save_processed({})
            assert_raises(NotImplementedError,
                              crashstorage.get_raw_crash, 'ooid')
            assert_raises(NotImplementedError,
                              crashstorage.get_raw_dump, 'ooid')
            assert_raises(NotImplementedError,
                              crashstorage.get_unredacted_processed, 'ooid')
            assert_raises(NotImplementedError,
                              crashstorage.remove, 'ooid')
            eq_(crashstorage.new_crashes(), [])
            crashstorage.close()

        with config_manager.context() as config:
            class MyCrashStorageTest(CrashStorageBase):
                def save_raw_crash(self, raw_crash, dumps, crash_id):
                    eq_(crash_id, "fake_id")
                    eq_(raw_crash, "fake raw crash")
                    eq_(
                        sorted(dumps.keys()),
                        sorted(['one', 'two', 'three'])
                    )
                    eq_(
                        sorted(dumps.values()),
                        sorted(['eins', 'zwei', 'drei'])
                    )

            values = ['eins', 'zwei', 'drei']

            def open_function(*args, **kwargs):
                return values.pop(0)

            crashstorage = MyCrashStorageTest(
                config,
                quit_check_callback=fake_quit_check
            )

            with mock.patch("__builtin__.open") as open_mock:
                open_mock.return_value = mock.MagicMock()
                open_mock.return_value.__enter__.return_value.read  \
                   .side_effect = open_function
                crashstorage.save_raw_crash_with_file_dumps(
                    "fake raw crash",
                    FileDumpsMapping({
                        'one': 'eins',
                        'two': 'zwei',
                        'three': 'drei'
                    }),
                    'fake_id'
                )
Example #5
0
    def test_basic_crashstorage(self):
        required_config = Namespace()

        mock_logging = mock.Mock()
        required_config.add_option("logger", default=mock_logging)
        required_config.update(CrashStorageBase.required_config)

        config_manager = ConfigurationManager(
            [required_config],
            app_name="testapp",
            app_version="1.0",
            app_description="app description",
            values_source_list=[{
                "logger": mock_logging
            }],
            argv_source=[],
        )

        with config_manager.context() as config:
            crashstorage = CrashStorageBase(config)
            crashstorage.save_raw_crash({}, "payload", "ooid")
            with pytest.raises(NotImplementedError):
                crashstorage.get_raw_crash("ooid")

            with pytest.raises(NotImplementedError):
                crashstorage.get_raw_dump("ooid")

            with pytest.raises(NotImplementedError):
                crashstorage.get_unredacted_processed("ooid")

            with pytest.raises(NotImplementedError):
                crashstorage.remove("ooid")

            crashstorage.close()
Example #6
0
    def test_basic_crashstorage(self):
        required_config = Namespace()

        mock_logging = mock.Mock()
        required_config.add_option("logger", default=mock_logging)
        required_config.update(CrashStorageBase.required_config)

        config_manager = ConfigurationManager(
            [required_config],
            app_name="testapp",
            app_version="1.0",
            app_description="app description",
            values_source_list=[{
                "logger": mock_logging
            }],
            argv_source=[],
        )

        with config_manager.context() as config:
            crashstorage = CrashStorageBase(
                config, quit_check_callback=fake_quit_check)
            crashstorage.save_raw_crash({}, "payload", "ooid")
            crashstorage.save_processed({})
            with pytest.raises(NotImplementedError):
                crashstorage.get_raw_crash("ooid")

            with pytest.raises(NotImplementedError):
                crashstorage.get_raw_dump("ooid")

            with pytest.raises(NotImplementedError):
                crashstorage.get_unredacted_processed("ooid")

            with pytest.raises(NotImplementedError):
                crashstorage.remove("ooid")

            assert crashstorage.new_crashes() == []
            crashstorage.close()

        with config_manager.context() as config:

            class MyCrashStorage(CrashStorageBase):
                def save_raw_crash(self, raw_crash, dumps, crash_id):
                    assert crash_id == "fake_id"
                    assert raw_crash == "fake raw crash"
                    assert sorted(dumps.keys()) == sorted(
                        ["one", "two", "three"])
                    assert sorted(dumps.values()) == sorted(
                        ["eins", "zwei", "drei"])

            values = ["eins", "zwei", "drei"]

            def open_function(*args, **kwargs):
                return values.pop(0)

            crashstorage = MyCrashStorage(config,
                                          quit_check_callback=fake_quit_check)

            with mock.patch(
                    "socorro.external.crashstorage_base.open") as open_mock:
                open_mock.return_value = mock.MagicMock()
                open_mock.return_value.__enter__.return_value.read.side_effect = (
                    open_function)
                crashstorage.save_raw_crash_with_file_dumps(
                    "fake raw crash",
                    FileDumpsMapping({
                        "one": "eins",
                        "two": "zwei",
                        "three": "drei"
                    }),
                    "fake_id",
                )
    def test_basic_crashstorage(self):

        required_config = Namespace()

        mock_logging = Mock()
        required_config.add_option('logger', default=mock_logging)
        required_config.update(CrashStorageBase.required_config)

        config_manager = ConfigurationManager(
            [required_config],
            app_name='testapp',
            app_version='1.0',
            app_description='app description',
            values_source_list=[{
                'logger': mock_logging,
            }],
            argv_source=[]
        )

        with config_manager.context() as config:
            crashstorage = CrashStorageBase(
                config,
                quit_check_callback=fake_quit_check
            )
            crashstorage.save_raw_crash({}, 'payload', 'ooid')
            crashstorage.save_processed({})
            with pytest.raises(NotImplementedError):
                crashstorage.get_raw_crash('ooid')

            with pytest.raises(NotImplementedError):
                crashstorage.get_raw_dump('ooid')

            with pytest.raises(NotImplementedError):
                crashstorage.get_unredacted_processed('ooid')

            with pytest.raises(NotImplementedError):
                crashstorage.remove('ooid')

            assert crashstorage.new_crashes() == []
            crashstorage.close()

        with config_manager.context() as config:
            class MyCrashStorageTest(CrashStorageBase):
                def save_raw_crash(self, raw_crash, dumps, crash_id):
                    assert crash_id == "fake_id"
                    assert raw_crash == "fake raw crash"
                    assert sorted(dumps.keys()) == sorted(['one', 'two', 'three'])
                    assert sorted(dumps.values()) == sorted(['eins', 'zwei', 'drei'])

            values = ['eins', 'zwei', 'drei']

            def open_function(*args, **kwargs):
                return values.pop(0)

            crashstorage = MyCrashStorageTest(
                config,
                quit_check_callback=fake_quit_check
            )

            with mock.patch("__builtin__.open") as open_mock:
                open_mock.return_value = mock.MagicMock()
                (
                    open_mock.return_value.__enter__
                    .return_value.read.side_effect
                ) = open_function
                crashstorage.save_raw_crash_with_file_dumps(
                    "fake raw crash",
                    FileDumpsMapping({
                        'one': 'eins',
                        'two': 'zwei',
                        'three': 'drei'
                    }),
                    'fake_id'
                )