Ejemplo n.º 1
0
    def test__execute_succeeds_when_local_and_remote_match(self):
        self.check_dir_mock.return_value.run.return_value = False
        self.check_remote_dir_mock.return_value.run.return_value = False
        self.make_dir_mock.return_value.run.return_value = None
        self.mock_listdir.return_value = ['synced.gppkg']
        self.mock_command.return_value.get_results.return_value.stdout = pickle.dumps(['synced.gppkg'])

        subject = SyncPackages('localhost')
        subject.execute()
        self.assertEqual(self.make_dir_mock.call_count, 1)
        self.assertEqual(self.make_remote_dir_mock.call_count, 1)

        log_messages = [args[1][0] for args in self.mock_logger.method_calls]
        self.assertIn('The packages on localhost are consistent.', log_messages)
Ejemplo n.º 2
0
    def test__execute_install_on_segments_when_package_are_missing(self):
        self.check_dir_mock.return_value.run.return_value = False
        self.check_remote_dir_mock.return_value.run.return_value = False
        self.make_dir_mock.return_value.run.return_value = None
        self.mock_listdir.return_value = ['foo.gppkg', 'bar.gppkg', 'zing.gppkg']
        self.mock_command.return_value.get_results.return_value.stdout = pickle.dumps(['foo.gppkg'])

        hostname = 'localhost'
        subject = SyncPackages(hostname)
        subject.execute()
        self.assertEqual(self.mock_scp.call_count, 2)
        self.assertEqual(self.make_dir_mock.call_count, 1)
        self.assertEqual(self.make_remote_dir_mock.call_count, 1)

        log_messages = [args[1][0] for args in self.mock_logger.method_calls]
        self.assertNotIn('The packages on %s are consistent.' % hostname, log_messages)
Ejemplo n.º 3
0
    def test__execute_succeeds_when_local_and_remote_match(self):
        self.check_dir_mock.return_value.run.return_value = False
        self.check_remote_dir_mock.return_value.run.return_value = False
        self.make_dir_mock.return_value.run.return_value = None
        self.mock_listdir.return_value = ['synced.gppkg']
        self.mock_command.return_value.get_results.return_value.stdout = pickle.dumps(
            ['synced.gppkg'])

        subject = SyncPackages('localhost')
        subject.execute()
        self.assertEqual(self.make_dir_mock.call_count, 1)
        self.assertEqual(self.make_remote_dir_mock.call_count, 1)

        log_messages = [args[1][0] for args in self.mock_logger.method_calls]
        self.assertIn('The packages on localhost are consistent.',
                      log_messages)
Ejemplo n.º 4
0
    def test__execute_uninstall_on_segments_when_package_is_missing_on_master(
            self):
        self.check_dir_mock.return_value.run.return_value = False
        self.check_remote_dir_mock.return_value.run.return_value = False
        self.make_dir_mock.return_value.run.return_value = None
        self.mock_listdir.return_value = ['ba.gppkg']
        self.mock_command.return_value.get_results.return_value.stdout = pickle.dumps(
            ['ba.gppkg', 'zing.gppkg', 'ga.gppkg'])
        hostname = 'localhost'
        subject = SyncPackages(hostname)
        subject.execute()
        self.assertEqual(self.make_dir_mock.call_count, 1)
        self.assertEqual(self.make_remote_dir_mock.call_count, 1)

        log_messages = [args[1][0] for args in self.mock_logger.method_calls]
        self.assertIn(
            'The following packages will be uninstalled on localhost: zing.gppkg, ga.gppkg',
            log_messages)
        self.assertNotIn('The packages on %s are consistent.' % hostname,
                         log_messages)