Exemple #1
0
    def test_handle_get_all_failed(self, model, _download, _on_all_failed,
                                   responder):
        """
         Three catalog entries.
         All (3) failed.
        """
        request = Mock(uri='http://content-world.com/content/bear.rpm')
        responder.return_value.__enter__.return_value = responder.return_value
        report = DownloadReport('', '')
        _download.side_effect = SideEffect(PluginNotFound(), DoesNotExist(),
                                           DownloadFailed(report))
        catalog = [
            Mock(url='url-a'),
            Mock(url='url-b'),
            Mock(url='url-c'),
        ]
        model.objects.filter.return_value.order_by.return_value.all.return_value = catalog
        model.objects.filter.return_value.order_by.return_value.count.return_value = len(
            catalog)

        # test
        streamer = Streamer(Mock())
        streamer._handle_get(request)

        # validation
        model.objects.filter.assert_called_once_with(path='/content/bear.rpm')
        model.objects.filter.return_value.order_by.\
            assert_called_once_with('-_id', '-revision')
        responder.assert_called_once_with(request)
        _on_all_failed.assert_called_once_with(request)
        self.assertEqual(_download.call_args_list, [
            call(request, catalog[0], responder.return_value),
            call(request, catalog[1], responder.return_value),
            call(request, catalog[2], responder.return_value)
        ])
Exemple #2
0
    def test_handle_get(self, model, _download, _on_succeeded, responder):
        """
         Three catalog entries.
         The 1st download fails but succeeds on the 2nd.
         The 3rd is not tried.
        """
        request = Mock(uri='http://content-world.com/content/bear.rpm')
        responder.return_value.__enter__.return_value = responder.return_value
        report = DownloadReport('', '')
        _download.side_effect = SideEffect(DownloadFailed(report), report,
                                           None)
        catalog = [
            Mock(url='url-a'),
            Mock(url='url-b'),
            Mock(url='url-c'),  # not tried.
        ]
        model.objects.filter.return_value.order_by.return_value.all.return_value = catalog
        model.objects.filter.return_value.order_by.return_value.count.return_value = len(
            catalog)

        # test
        streamer = Streamer(Mock())
        streamer._handle_get(request)

        # validation
        model.objects.filter.assert_called_once_with(path='/content/bear.rpm')
        model.objects.filter.return_value.order_by.\
            assert_called_once_with('-_id', '-revision')
        responder.assert_called_once_with(request)
        _on_succeeded.assert_called_once_with(catalog[1], request, report)
        self.assertEqual(_download.call_args_list, [
            call(request, catalog[0], responder.return_value),
            call(request, catalog[1], responder.return_value)
        ])
Exemple #3
0
    def test_validate_failed(self, validate, update_settings, sleep):
        test_conf = {
            'filesystem': {
                'id_cert_dir': TEST_ID_CERT_DIR,
                'id_cert_filename': TEST_ID_CERT_FILE
            }
        }

        validate.side_effect = SideEffect(
            self.plugin.ValidateRegistrationFailed, None)

        self.plugin.pulp_conf.update(test_conf)

        # test
        self.plugin.registered = True
        self.plugin.init_plugin()

        # validation
        sleep.assert_called_once_with(60)
        update_settings.assert_called_once_with()
        self.plugin.path_monitor.add.assert_called_with(
            os.path.join(TEST_ID_CERT_DIR, TEST_ID_CERT_FILE),
            self.plugin.certificate_changed)
        self.plugin.path_monitor.start.assert_called_with()
        self.assertEqual(validate.call_count, 2)
Exemple #4
0
    def test_run_validate_failed(self, validate, update_settings, sleep):
        validate.side_effect = SideEffect(ValueError, None)

        # test
        attach = self.plugin.Attach()
        attach.run()

        # validation
        validate.assert_called_with()
        sleep.assert_called_once_with(60)
        update_settings.assert_called_with()
        self.plugin.plugin.attach.assert_called_with()
Exemple #5
0
    def test_validate_failed(self, validate, update_settings, sleep):
        path = 'test-path'

        validate.side_effect = SideEffect(self.plugin.ValidateRegistrationFailed, None)

        # test
        self.plugin.registered = True
        self.plugin.certificate_changed(path)

        # validation
        update_settings.assert_called_once_with()
        sleep.assert_called_once_with(60)
        self.plugin.plugin.attach.assert_called_once_with()
        self.assertEqual(validate.call_count, 2)