Beispiel #1
0
    def test_index_absent(self):
        '''
        Test to manage a elasticsearch index.
        '''
        name = 'foo'

        ret = {'name': name,
               'result': True,
               'comment': 'Index foo is already absent',
               'changes': {}}

        mock_get = MagicMock(side_effect=[None, {name: {"test": "key"}}, {name: {}}, {name: {"test": "key"}}, CommandExecutionError, {name: {"test": "key"}}])
        mock_delete = MagicMock(side_effect=[True, False, CommandExecutionError])

        with patch.dict(elasticsearch.__salt__, {'elasticsearch.index_get': mock_get,
                                             'elasticsearch.index_delete': mock_delete}):
            self.assertDictEqual(elasticsearch.index_absent(name), ret)

            ret.update({'comment': 'Successfully removed index foo', 'changes': {"old": {"test": "key"}}})
            self.assertDictEqual(elasticsearch.index_absent(name), ret)

            ret.update({'comment': 'Failed to remove index foo for unknown reasons', 'result': False, 'changes': {}})
            self.assertDictEqual(elasticsearch.index_absent(name), ret)

            with patch.dict(elasticsearch.__opts__, {'test': True}):
                ret.update({'comment': "Index foo will be removed", 'result': None, 'changes': {"old": {"test": "key"}}})
                self.assertDictEqual(elasticsearch.index_absent(name), ret)

            ret.update({'comment': '', 'result': False, 'changes': {}})
            self.assertDictEqual(elasticsearch.index_absent(name), ret)

            ret.update({'comment': '', 'result': False, 'changes': {}})
            self.assertDictEqual(elasticsearch.index_absent(name), ret)
Beispiel #2
0
    def test_index_present(self):
        '''
        Test to manage a elasticsearch index.
        '''
        name = 'foo'

        ret = {'name': name,
               'result': True,
               'comment': 'Index foo is already present',
               'changes': {}}

        mock_exists = MagicMock(side_effect=[True, False, False, False, CommandExecutionError, False, False])
        mock_get = MagicMock(side_effect=[{name: {"test": "key"}}, CommandExecutionError])
        mock_create = MagicMock(side_effect=[True, False, CommandExecutionError, True])

        with patch.dict(elasticsearch.__salt__, {'elasticsearch.index_get': mock_get,
                                             'elasticsearch.index_exists': mock_exists,
                                             'elasticsearch.index_create': mock_create}):
            self.assertDictEqual(elasticsearch.index_present(name), ret)

            ret.update({'comment': 'Successfully created index foo', 'changes': {"new": {"test": "key"}}})
            self.assertDictEqual(elasticsearch.index_present(name), ret)

            ret.update({'comment': 'Cannot create index foo, False', 'result': False, 'changes': {}})
            self.assertDictEqual(elasticsearch.index_present(name), ret)

            with patch.dict(elasticsearch.__opts__, {'test': True}):
                ret.update({'comment': "Index foo does not exist and will be created", 'result': None, 'changes': {"new": {"test2": "key"}}})
                self.assertDictEqual(elasticsearch.index_present(name, {"test2": "key"}), ret)

            ret.update({'comment': '', 'result': False, 'changes': {}})
            self.assertDictEqual(elasticsearch.index_absent(name), ret)

            ret.update({'comment': '', 'result': False, 'changes': {}})
            self.assertDictEqual(elasticsearch.index_absent(name), ret)

            ret.update({'comment': '', 'result': False, 'changes': {}})
            self.assertDictEqual(elasticsearch.index_absent(name), ret)
Beispiel #3
0
def test_index_absent():
    """
    Test to manage a elasticsearch index.
    """
    name = "foo"

    ret = {
        "name": name,
        "result": True,
        "comment": "Index foo is already absent",
        "changes": {},
    }

    mock_get = MagicMock(side_effect=[
        None,
        {
            name: {
                "test": "key"
            }
        },
        {
            name: {}
        },
        {
            name: {
                "test": "key"
            }
        },
        CommandExecutionError,
        {
            name: {
                "test": "key"
            }
        },
    ])
    mock_delete = MagicMock(side_effect=[True, False, CommandExecutionError])

    with patch.dict(
            elasticsearch.__salt__,
        {
            "elasticsearch.index_get": mock_get,
            "elasticsearch.index_delete": mock_delete,
        },
    ):
        assert elasticsearch.index_absent(name) == ret

        ret.update({
            "comment": "Successfully removed index foo",
            "changes": {
                "old": {
                    "test": "key"
                }
            },
        })
        assert elasticsearch.index_absent(name) == ret

        ret.update({
            "comment": "Failed to remove index foo for unknown reasons",
            "result": False,
            "changes": {},
        })
        assert elasticsearch.index_absent(name) == ret

        with patch.dict(elasticsearch.__opts__, {"test": True}):
            ret.update({
                "comment": "Index foo will be removed",
                "result": None,
                "changes": {
                    "old": {
                        "test": "key"
                    }
                },
            })
            assert elasticsearch.index_absent(name) == ret

        ret.update({"comment": "", "result": False, "changes": {}})
        assert elasticsearch.index_absent(name) == ret

        ret.update({"comment": "", "result": False, "changes": {}})
        assert elasticsearch.index_absent(name) == ret
Beispiel #4
0
def test_index_present():
    """
    Test to manage a elasticsearch index.
    """
    name = "foo"

    ret = {
        "name": name,
        "result": True,
        "comment": "Index foo is already present",
        "changes": {},
    }

    mock_exists = MagicMock(side_effect=[
        True, False, False, False, CommandExecutionError, False, False
    ])
    mock_get = MagicMock(side_effect=[{
        name: {
            "test": "key"
        }
    }, CommandExecutionError])
    mock_create = MagicMock(
        side_effect=[True, False, CommandExecutionError, True])

    with patch.dict(
            elasticsearch.__salt__,
        {
            "elasticsearch.index_get": mock_get,
            "elasticsearch.index_exists": mock_exists,
            "elasticsearch.index_create": mock_create,
        },
    ):
        assert elasticsearch.index_present(name) == ret

        ret.update({
            "comment": "Successfully created index foo",
            "changes": {
                "new": {
                    "test": "key"
                }
            },
        })
        assert elasticsearch.index_present(name) == ret

        ret.update({
            "comment": "Cannot create index foo, False",
            "result": False,
            "changes": {},
        })
        assert elasticsearch.index_present(name) == ret

        with patch.dict(elasticsearch.__opts__, {"test": True}):
            ret.update({
                "comment": "Index foo does not exist and will be created",
                "result": None,
                "changes": {
                    "new": {
                        "test2": "key"
                    }
                },
            })
            assert elasticsearch.index_present(name, {"test2": "key"}) == ret

        ret.update({"comment": "", "result": False, "changes": {}})
        assert elasticsearch.index_absent(name) == ret

        ret.update({"comment": "", "result": False, "changes": {}})
        assert elasticsearch.index_absent(name) == ret

        ret.update({"comment": "", "result": False, "changes": {}})
        assert elasticsearch.index_absent(name) == ret