Esempio n. 1
0
 def test_set_openssl_fips(self, _, __):
     daemon_handler = get_daemon_handler()
     daemon_handler.running = False
     with patch.dict("os.environ"):
         daemon_handler.run()
         self.assertTrue(OPENSSL_FIPS_ENVIRONMENT in os.environ)
         self.assertEqual('1', os.environ[OPENSSL_FIPS_ENVIRONMENT])
Esempio n. 2
0
    def test_check_pid(self, mock_exit, mock_conf, _):
        daemon_handler = get_daemon_handler()

        mock_pid_file = os.path.join(self.tmp_dir, "pid")
        mock_conf.get_agent_pid_file_path = Mock(return_value=mock_pid_file)

        daemon_handler.check_pid()
        self.assertTrue(os.path.isfile(mock_pid_file))

        daemon_handler.check_pid()
        mock_exit.assert_any_call(0)
Esempio n. 3
0
    def test_daemon_restart(self, mock_sleep):
        # Mock daemon function
        daemon_handler = get_daemon_handler()
        mock_daemon = Mock(side_effect=MockDaemonCall(daemon_handler, 2))
        daemon_handler.daemon = mock_daemon

        daemon_handler.check_pid = Mock()

        daemon_handler.run()

        mock_sleep.assert_any_call(15)
        self.assertEquals(2, daemon_handler.daemon.call_count)
Esempio n. 4
0
    def test_daemon_agent_disabled(self, _, patch_run_latest, gpa):
        """
        Agent should provision, then sleep forever when disable_agent is found
        """

        with patch('azurelinuxagent.pa.provision.get_provision_handler',
                   return_value=ProvisionHandler()):
            # file is created by provisioning handler
            self.assertFalse(os.path.exists(
                conf.get_disable_agent_file_path()))
            daemon_handler = get_daemon_handler()

            # we need to assert this thread will sleep forever, so fork it
            daemon = Process(target=daemon_handler.run)
            daemon.start()
            daemon.join(timeout=5)

            self.assertTrue(daemon.is_alive())
            daemon.terminate()

            # disable_agent was written, run_latest was not called
            self.assertTrue(os.path.exists(conf.get_disable_agent_file_path()))
            self.assertEqual(0, patch_run_latest.call_count)
Esempio n. 5
0
    def test_daemon_agent_enabled(self, patch_run_provision, patch_run_latest,
                                  gpa):
        """
        Agent should run normally when no disable_agent is found
        """
        with patch('azurelinuxagent.pa.provision.get_provision_handler',
                   return_value=ProvisionHandler()):
            # DaemonHandler._initialize_telemetry requires communication with WireServer and IMDS; since we
            # are not using telemetry in this test we mock it out
            with patch(
                    'azurelinuxagent.daemon.main.DaemonHandler._initialize_telemetry'
            ):
                self.assertFalse(
                    os.path.exists(conf.get_disable_agent_file_path()))
                daemon_handler = get_daemon_handler()

                def stop_daemon(child_args):
                    daemon_handler.running = False

                patch_run_latest.side_effect = stop_daemon
                daemon_handler.run()

                self.assertEqual(1, patch_run_provision.call_count)
                self.assertEqual(1, patch_run_latest.call_count)