예제 #1
0
    def test_unknown_exceptions(self):
        safepack = doubles.SafePackageFake('fixtures/invalid_rsp-v47n4.zip', '/tmp')

        # replace the reporter to get the generated messages
        reporter = self.mocker.replace('balaio.lib.package.CheckinReporter')
        reporter(safepack.primary_path)
        pack_reporter = doubles.CheckinReporterFake(safepack.primary_path)
        self.mocker.result(pack_reporter)

        checkin_mod = self.mocker.replace('balaio.lib.checkin')
        checkin_mod.get_attempt(mocker.ANY)
        self.mocker.throw(RuntimeError)

        patched_safepack = self.mocker.patch(safepack)
        patched_safepack.mark_as_failed(silence=True)
        self.mocker.result(None)
        self.mocker.replay()

        self.assertIsNone(monitor.process_package(patched_safepack, None))
        self.assertTrue('The package could not be processed due to an unexpected error. Our engineers have been notified.' in pack_reporter._messages)
예제 #2
0
    def test_duplicated_package(self):
        safepack = doubles.SafePackageFake('fixtures/invalid_rsp-v47n4.zip', '/tmp')

        # replace the reporter to get the generated messages
        reporter = self.mocker.replace('balaio.lib.package.CheckinReporter')
        reporter(safepack.primary_path)
        pack_reporter = doubles.CheckinReporterFake(safepack.primary_path)
        self.mocker.result(pack_reporter)

        checkin_mod = self.mocker.replace('balaio.lib.checkin')
        checkin_mod.get_attempt(mocker.ANY)
        self.mocker.throw(excepts.DuplicatedPackage)

        patched_safepack = self.mocker.patch(safepack)
        patched_safepack.mark_as_failed(silence=True)
        self.mocker.result(None)
        self.mocker.replay()

        self.assertIsNone(monitor.process_package(patched_safepack, None))
        self.assertTrue('The package was already deposited.' in pack_reporter._messages)
예제 #3
0
    def test_invalid_package_xml(self):
        safepack = doubles.SafePackageFake('fixtures/invalid_rsp-v47n4.zip',
                                           '/tmp')

        # replace the reporter to get the generated messages
        reporter = self.mocker.replace('balaio.lib.package.CheckinReporter')
        reporter(safepack.primary_path)
        pack_reporter = doubles.CheckinReporterFake(safepack.primary_path)
        self.mocker.result(pack_reporter)

        checkin_mod = self.mocker.replace('balaio.lib.checkin')
        checkin_mod.get_attempt(mocker.ANY)
        self.mocker.throw(excepts.InvalidXML(['Some validation error.']))

        patched_safepack = self.mocker.patch(safepack)
        patched_safepack.mark_as_failed(silence=True)
        self.mocker.result(None)
        self.mocker.replay()

        self.assertIsNone(monitor.process_package(patched_safepack, None))
        self.assertTrue('Some validation error.' in pack_reporter._messages)
예제 #4
0
    def test_unknown_exceptions(self):
        safepack = doubles.SafePackageFake('fixtures/invalid_rsp-v47n4.zip',
                                           '/tmp')

        # replace the reporter to get the generated messages
        reporter = self.mocker.replace('balaio.lib.package.CheckinReporter')
        reporter(safepack.primary_path)
        pack_reporter = doubles.CheckinReporterFake(safepack.primary_path)
        self.mocker.result(pack_reporter)

        checkin_mod = self.mocker.replace('balaio.lib.checkin')
        checkin_mod.get_attempt(mocker.ANY)
        self.mocker.throw(RuntimeError)

        patched_safepack = self.mocker.patch(safepack)
        patched_safepack.mark_as_failed(silence=True)
        self.mocker.result(None)
        self.mocker.replay()

        self.assertIsNone(monitor.process_package(patched_safepack, None))
        self.assertTrue(
            'The package could not be processed due to an unexpected error. Our engineers have been notified.'
            in pack_reporter._messages)