Beispiel #1
0
    def test_non_list_config(self):
        config = {}

        ret = service_beacon.validate(config)

        self.assertEqual(
            ret, (False, "Configuration for service beacon must be a list."))
Beispiel #2
0
def test_empty_config():
    config = [{}]

    ret = service_beacon.validate(config)

    assert ret == (False,
                   "Configuration for service beacon requires services.")
Beispiel #3
0
    def test_empty_config(self):
        config = [{}]

        ret = service_beacon.validate(config)

        self.assertEqual(ret, (False, 'Configuration for service '
                               'beacon requires services.'))
Beispiel #4
0
def test_validate_config_services_list():
    config = [{"services": [{"sshd": {}}]}]

    ret = service_beacon.validate(config)

    assert ret == (
        False,
        "Services configuration item for service beacon must be a dictionary.",
    )
Beispiel #5
0
def test_validate_config_services_none():
    config = [{"services": None}]

    ret = service_beacon.validate(config)

    assert ret == (
        False,
        "Services configuration item for service beacon must be a dictionary.",
    )
Beispiel #6
0
    def test_validate_config_services_list(self):
        config = [{"services": [{"sshd": {}}]}]

        ret = service_beacon.validate(config)

        self.assertEqual(
            ret,
            (
                False,
                "Services configuration item for service beacon must be a dictionary.",
            ),
        )
Beispiel #7
0
def test_service_not_running():
    with patch.dict(service_beacon.__salt__,
                    {"service.status": MagicMock(return_value=False)}):
        config = [{"services": {"salt-master": {}}}]

        ret = service_beacon.validate(config)

        assert ret == (True, "Valid beacon configuration")

        ret = service_beacon.beacon(config)
        assert ret == [{
            "service_name": "salt-master",
            "tag": "salt-master",
            "salt-master": {
                "running": False
            },
        }]
Beispiel #8
0
    def test_service_not_running(self):
        with patch.dict(service_beacon.__salt__,
                        {'service.status': MagicMock(return_value=False)}):
            config = [{'services': {'salt-master': {}}}]

            ret = service_beacon.validate(config)

            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = service_beacon.beacon(config)
            self.assertEqual(ret, [{
                'service_name': 'salt-master',
                'tag': 'salt-master',
                'salt-master': {
                    'running': False
                }
            }])
Beispiel #9
0
    def test_service_running(self):
        with patch.dict(service_beacon.__salt__,
                        {"service.status": MagicMock(return_value=True)}):
            config = [{"services": {"salt-master": {}}}]

            ret = service_beacon.validate(config)

            self.assertEqual(ret, (True, "Valid beacon configuration"))

            ret = service_beacon.beacon(config)
            self.assertEqual(
                ret,
                [{
                    "service_name": "salt-master",
                    "tag": "salt-master",
                    "salt-master": {
                        "running": True
                    },
                }],
            )
Beispiel #10
0
    def test_validate_config_services_valid(self):
        config = [{"services": {"sshd": {}}}]

        ret = service_beacon.validate(config)

        self.assertEqual(ret, (True, "Valid beacon configuration"))
Beispiel #11
0
def test_service_running():
    with patch.dict(service_beacon.__salt__,
                    {"service.status": MagicMock(return_value=True)}):
        config = [{"services": {"salt-master": {}}}]

        ret = service_beacon.validate(config)

        assert ret == (True, "Valid beacon configuration")

        ret = service_beacon.beacon(config)
        assert ret == [{
            "service_name": "salt-master",
            "tag": "salt-master",
            "salt-master": {
                "running": True
            },
        }]

        # When onchangeonly is True and emitatstartup is False ,
        # we should not see a return when the beacon is run.
        config = [{
            "services": {
                "salt-master": {
                    "emitatstartup": False,
                    "onchangeonly": True
                }
            }
        }]

        ret = service_beacon.validate(config)

        assert ret == (True, "Valid beacon configuration")

        ret = service_beacon.beacon(config)
        assert ret == []

        # When onchangeonly is True and emitatstartup is
        # the default value True, we should see a return
        # when the beacon is run.
        config = [{"services": {"salt-master": {"onchangeonly": True}}}]

        ret = service_beacon.validate(config)

        assert ret == (True, "Valid beacon configuration")

        ret = service_beacon.beacon(config)
        assert ret == [{
            "service_name": "salt-master",
            "tag": "salt-master",
            "salt-master": {
                "running": True
            },
        }]

        # LAST_STATUS has service name and status has not changed
        config = [{"services": {"salt-master": {"onchangeonly": True}}}]

        ret = service_beacon.validate(config)

        assert ret == (True, "Valid beacon configuration")

        mock_ret_dict = {}
        mock_ret_dict["salt-master"] = {"running": True}

        with patch.dict(service_beacon.LAST_STATUS, mock_ret_dict):
            ret = service_beacon.beacon(config)
            assert ret == []

        # LAST_STATUS has service name and status has changed
        config = [{"services": {"salt-master": {"onchangeonly": True}}}]

        ret = service_beacon.validate(config)

        assert ret == (True, "Valid beacon configuration")

        mock_ret_dict = {}
        mock_ret_dict["salt-master"] = {"running": False}

        with patch.dict(service_beacon.LAST_STATUS, mock_ret_dict):
            ret = service_beacon.beacon(config)
            assert ret == [{
                "service_name": "salt-master",
                "tag": "salt-master",
                "salt-master": {
                    "running": True
                },
            }]
Beispiel #12
0
def test_validate_config_services_valid():
    config = [{"services": {"sshd": {}}}]

    ret = service_beacon.validate(config)

    assert ret == (True, "Valid beacon configuration")
Beispiel #13
0
def test_non_list_config():
    config = {}

    ret = service_beacon.validate(config)

    assert ret == (False, "Configuration for service beacon must be a list.")