Example #1
0
    def test_should_inform_if_the_datasource_has_not_changed(self):
        read_mock = MagicMock(
            return_value={
                'success': True,
                'result': {
                    'connection-url': 'jdbc:/same-connection-url'
                }
            })
        create_mock = MagicMock()
        remove_mock = MagicMock()
        update_mock = MagicMock(return_value={'success': True})

        with patch.dict(
                jboss7.__salt__, {
                    'jboss7.read_datasource': read_mock,
                    'jboss7.create_datasource': create_mock,
                    'jboss7.remove_datasource': remove_mock,
                    'jboss7.update_datasource': update_mock
                }):
            result = jboss7.datasource_exists(name='appDS',
                                              jboss_config={},
                                              datasource_properties={
                                                  'connection-url':
                                                  'jdbc:/old-connection-url'
                                              })

            update_mock.assert_called_with(
                name='appDS',
                jboss_config={},
                new_properties={'connection-url': 'jdbc:/old-connection-url'},
                profile=None)
            self.assertFalse(create_mock.called)
            self.assertEqual(result['comment'], 'Datasource not changed.')
Example #2
0
    def test_should_create_new_datasource_if_not_exists(self):
        # given
        datasource_properties = {'connection-url': 'jdbc:/old-connection-url'}
        ds_status = {'created': False}

        def read_func(jboss_config, name):
            if ds_status['created']:
                return {'success': True, 'result': datasource_properties}
            else:
                return {'success': False, 'err_code': 'JBAS014807'}

        def create_func(jboss_config, name, datasource_properties):
            ds_status['created'] = True
            return {'success': True}

        __salt__['jboss7.read_datasource'] = MagicMock(side_effect=read_func)
        __salt__['jboss7.create_datasource'] = MagicMock(side_effect=create_func)

        # when
        result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties=datasource_properties)

        # then
        __salt__['jboss7.create_datasource'].assert_called_with(name='appDS', jboss_config={}, datasource_properties=datasource_properties)
        self.assertFalse(__salt__['jboss7.update_datasource'].called)
        self.assertEqual(result['comment'], 'Datasource created.')
Example #3
0
    def test_should_create_new_datasource_if_not_exists(self):
        # given
        datasource_properties = {'connection-url': 'jdbc:/old-connection-url'}
        ds_status = {'created': False}

        def read_func(jboss_config, name, profile):
            if ds_status['created']:
                return {'success': True, 'result': datasource_properties}
            else:
                return {'success': False, 'err_code': 'JBAS014807'}

        def create_func(jboss_config, name, datasource_properties, profile):
            ds_status['created'] = True
            return {'success': True}

        __salt__['jboss7.read_datasource'] = MagicMock(side_effect=read_func)
        __salt__['jboss7.create_datasource'] = MagicMock(side_effect=create_func)

        # when
        result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties=datasource_properties, profile=None)

        # then
        __salt__['jboss7.create_datasource'].assert_called_with(name='appDS', jboss_config={}, datasource_properties=datasource_properties, profile=None)
        self.assertFalse(__salt__['jboss7.update_datasource'].called)
        self.assertEqual(result['comment'], 'Datasource created.')
Example #4
0
    def test_should_recreate_the_datasource_if_specified(self):
        __salt__['jboss7.remove_datasource'].return_value = {'success': True}
        __salt__['jboss7.read_datasource'].return_value = {
            'success': True,
            'result': {
                'connection-url': 'jdbc:/same-connection-url'
            }
        }
        __salt__['jboss7.create_datasource'].return_value = {'success': True}

        result = jboss7.datasource_exists(name='appDS',
                                          jboss_config={},
                                          datasource_properties={
                                              'connection-url':
                                              'jdbc:/same-connection-url'
                                          },
                                          recreate=True)

        __salt__['jboss7.remove_datasource'].assert_called_with(
            name='appDS', jboss_config={}, profile=None)
        __salt__['jboss7.create_datasource'].assert_called_with(
            name='appDS',
            jboss_config={},
            datasource_properties={
                'connection-url': 'jdbc:/same-connection-url'
            },
            profile=None)
        self.assertEqual(result['changes']['removed'], 'appDS')
        self.assertEqual(result['changes']['created'], 'appDS')
Example #5
0
    def test_datasource_exist_create_datasource_good_code(self):
        jboss_config = {'cli_path': '/home/ch44d/Desktop/wildfly-18.0.0.Final/bin/jboss-cli.sh',
                        'controller': '127.0.0.1: 9990',
                        'cli_user': '******',
                        'cli_password': '******'}

        datasource_properties = {'driver - name': 'h2',
                                 'connection - url': 'jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test_s2',
                                 'jndi - name': 'java:/home/ch44d/Desktop/sqljdbc_7.4/enu/mssql-jdbc-7.4.1.jre8.jar',
                                 'user - name': 'user',
                                 'password': '******',
                                 'use - java - context': True}

        read_datasource = MagicMock(return_value={'success': False,
                                                  'err_code': 'WFLYCTL0216'})

        error_msg = 'Error: -1'
        create_datasource = MagicMock(return_value={'success': False,
                                                    'stdout': error_msg})

        with patch.dict(jboss7.__salt__, {'jboss7.read_datasource': read_datasource,
                                          'jboss7.create_datasource': create_datasource}):
            ret = jboss7.datasource_exists("SQL", jboss_config, datasource_properties)

            self.assertTrue('result' in ret)
            self.assertFalse(ret['result'])
            self.assertTrue('comment' in ret)
            self.assertTrue(error_msg in ret['comment'])

            read_datasource.assert_called_once()
            create_datasource.assert_called_once()
Example #6
0
    def test_should_update_the_datasource_if_exists(self):
        ds_status = {'updated': False}

        def read_func(jboss_config, name, profile):
            if ds_status['updated']:
                return {'success': True, 'result': {'connection-url': 'jdbc:/new-connection-url'}}
            else:
                return {'success': True, 'result': {'connection-url': 'jdbc:/old-connection-url'}}

        def update_func(jboss_config, name, new_properties, profile):
            ds_status['updated'] = True
            return {'success': True}

        read_mock = MagicMock(side_effect=read_func)
        create_mock = MagicMock()
        update_mock = MagicMock(side_effect=update_func)
        with patch.dict(jboss7.__salt__, {'jboss7.read_datasource': read_mock,
                                          'jboss7.create_datasource': create_mock,
                                          'jboss7.update_datasource': update_mock}):
            result = jboss7.datasource_exists(name='appDS', jboss_config={},
                                              datasource_properties={'connection-url': 'jdbc:/new-connection-url'},
                                              profile=None)

            update_mock.assert_called_with(name='appDS', jboss_config={},
                                           new_properties={'connection-url': 'jdbc:/new-connection-url'},
                                           profile=None)
            self.assertTrue(read_mock.called)
            self.assertEqual(result['comment'], 'Datasource updated.')
Example #7
0
    def test_datasource_exist_create_datasource_good_code(self):
        jboss_config = {
            "cli_path":
            "/home/ch44d/Desktop/wildfly-18.0.0.Final/bin/jboss-cli.sh",
            "controller": "127.0.0.1: 9990",
            "cli_user": "******",
            "cli_password": "******",
        }

        datasource_properties = {
            "driver - name":
            "h2",
            "connection - url":
            "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test_s2",
            "jndi - name":
            ("java:/home/ch44d/Desktop/sqljdbc_7.4/enu/mssql-jdbc-7.4.1.jre8.jar"
             ),
            "user - name":
            "user",
            "password":
            "******",
            "use - java - context":
            True,
        }

        read_datasource = MagicMock(return_value={
            "success": False,
            "err_code": "WFLYCTL0216"
        })

        error_msg = "Error: -1"
        create_datasource = MagicMock(return_value={
            "success": False,
            "stdout": error_msg
        })

        with patch.dict(
                jboss7.__salt__,
            {
                "jboss7.read_datasource": read_datasource,
                "jboss7.create_datasource": create_datasource,
            },
        ):
            ret = jboss7.datasource_exists("SQL", jboss_config,
                                           datasource_properties)

            self.assertTrue("result" in ret)
            self.assertFalse(ret["result"])
            self.assertTrue("comment" in ret)
            self.assertTrue(error_msg in ret["comment"])

            read_datasource.assert_called_once()
            create_datasource.assert_called_once()
Example #8
0
    def test_should_update_the_datasource_if_exists(self):
        ds_status = {"updated": False}

        def read_func(jboss_config, name, profile):
            if ds_status["updated"]:
                return {
                    "success": True,
                    "result": {
                        "connection-url": "jdbc:/new-connection-url"
                    },
                }
            else:
                return {
                    "success": True,
                    "result": {
                        "connection-url": "jdbc:/old-connection-url"
                    },
                }

        def update_func(jboss_config, name, new_properties, profile):
            ds_status["updated"] = True
            return {"success": True}

        read_mock = MagicMock(side_effect=read_func)
        create_mock = MagicMock()
        update_mock = MagicMock(side_effect=update_func)
        with patch.dict(
                jboss7.__salt__,
            {
                "jboss7.read_datasource": read_mock,
                "jboss7.create_datasource": create_mock,
                "jboss7.update_datasource": update_mock,
            },
        ):
            result = jboss7.datasource_exists(
                name="appDS",
                jboss_config={},
                datasource_properties={
                    "connection-url": "jdbc:/new-connection-url"
                },
                profile=None,
            )

            update_mock.assert_called_with(
                name="appDS",
                jboss_config={},
                new_properties={"connection-url": "jdbc:/new-connection-url"},
                profile=None,
            )
            self.assertTrue(read_mock.called)
            self.assertEqual(result["comment"], "Datasource updated.")
Example #9
0
    def test_should_inform_if_the_datasource_has_not_changed(self):
        __salt__['jboss7.read_datasource'].return_value = {
            'success': True,
            'result': {'connection-url': 'jdbc:/old-connection-url'}
        }
        __salt__['jboss7.update_datasource'].return_value = {
            'success': True
        }

        result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/old-connection-url'})

        __salt__['jboss7.update_datasource'].assert_called_with(name='appDS', jboss_config={}, new_properties={'connection-url': 'jdbc:/old-connection-url'}, profile=None)
        self.assertFalse(__salt__['jboss7.create_datasource'].called)
        self.assertEqual(result['comment'], 'Datasource not changed.')
Example #10
0
    def test_should_inform_if_the_datasource_has_not_changed(self):
        __salt__['jboss7.read_datasource'].return_value = {
            'success': True,
            'result': {'connection-url': 'jdbc:/old-connection-url'}
        }
        __salt__['jboss7.update_datasource'].return_value = {
            'success': True
        }

        result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/old-connection-url'})

        __salt__['jboss7.update_datasource'].assert_called_with(name='appDS', jboss_config={}, new_properties={'connection-url': 'jdbc:/old-connection-url'})
        self.assertFalse(__salt__['jboss7.create_datasource'].called)
        self.assertEqual(result['comment'], 'Datasource not changed.')
Example #11
0
    def test_should_create_new_datasource_if_not_exists(self):
        # given
        datasource_properties = {"connection-url": "jdbc:/old-connection-url"}
        ds_status = {"created": False}

        def read_func(jboss_config, name, profile):
            if ds_status["created"]:
                return {"success": True, "result": datasource_properties}
            else:
                return {"success": False, "err_code": "JBAS014807"}

        def create_func(jboss_config, name, datasource_properties, profile):
            ds_status["created"] = True
            return {"success": True}

        read_mock = MagicMock(side_effect=read_func)
        create_mock = MagicMock(side_effect=create_func)
        update_mock = MagicMock()
        with patch.dict(
                jboss7.__salt__,
            {
                "jboss7.read_datasource": read_mock,
                "jboss7.create_datasource": create_mock,
                "jboss7.update_datasource": update_mock,
            },
        ):

            # when
            result = jboss7.datasource_exists(
                name="appDS",
                jboss_config={},
                datasource_properties=datasource_properties,
                profile=None,
            )

            # then
            create_mock.assert_called_with(
                name="appDS",
                jboss_config={},
                datasource_properties=datasource_properties,
                profile=None,
            )

            self.assertFalse(update_mock.called)
            self.assertEqual(result["comment"], "Datasource created.")
Example #12
0
    def test_should_recreate_the_datasource_if_specified(self):
        __salt__['jboss7.remove_datasource'].return_value = {
            'success': True
        }
        __salt__['jboss7.read_datasource'].return_value = {
            'success': True,
            'result': {'connection-url': 'jdbc:/same-connection-url'}
        }
        __salt__['jboss7.create_datasource'].return_value = {
            'success': True
        }

        result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/same-connection-url'}, recreate=True)

        __salt__['jboss7.remove_datasource'].assert_called_with(name='appDS', jboss_config={})
        __salt__['jboss7.create_datasource'].assert_called_with(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/same-connection-url'})
        self.assertEqual(result['changes']['removed'], 'appDS')
        self.assertEqual(result['changes']['created'], 'appDS')
Example #13
0
    def test_should_recreate_the_datasource_if_specified(self):
        read_mock = MagicMock(
            return_value={
                "success": True,
                "result": {
                    "connection-url": "jdbc:/same-connection-url"
                },
            })
        create_mock = MagicMock(return_value={"success": True})
        remove_mock = MagicMock(return_value={"success": True})
        update_mock = MagicMock()
        with patch.dict(
                jboss7.__salt__,
            {
                "jboss7.read_datasource": read_mock,
                "jboss7.create_datasource": create_mock,
                "jboss7.remove_datasource": remove_mock,
                "jboss7.update_datasource": update_mock,
            },
        ):
            result = jboss7.datasource_exists(
                name="appDS",
                jboss_config={},
                datasource_properties={
                    "connection-url": "jdbc:/same-connection-url"
                },
                recreate=True,
            )

            remove_mock.assert_called_with(name="appDS",
                                           jboss_config={},
                                           profile=None)
            create_mock.assert_called_with(
                name="appDS",
                jboss_config={},
                datasource_properties={
                    "connection-url": "jdbc:/same-connection-url"
                },
                profile=None,
            )
            self.assertEqual(result["changes"]["removed"], "appDS")
            self.assertEqual(result["changes"]["created"], "appDS")
Example #14
0
    def test_should_recreate_the_datasource_if_specified(self):
        read_mock = MagicMock(return_value={'success': True,
                                            'result': {'connection-url': 'jdbc:/same-connection-url'}})
        create_mock = MagicMock(return_value={'success': True})
        remove_mock = MagicMock(return_value={'success': True})
        update_mock = MagicMock()
        with patch.dict(jboss7.__salt__, {'jboss7.read_datasource': read_mock,
                                          'jboss7.create_datasource': create_mock,
                                          'jboss7.remove_datasource': remove_mock,
                                          'jboss7.update_datasource': update_mock}):
            result = jboss7.datasource_exists(name='appDS', jboss_config={},
                                              datasource_properties={'connection-url': 'jdbc:/same-connection-url'},
                                              recreate=True)

            remove_mock.assert_called_with(name='appDS', jboss_config={}, profile=None)
            create_mock.assert_called_with(name='appDS', jboss_config={},
                                           datasource_properties={'connection-url': 'jdbc:/same-connection-url'},
                                           profile=None)
            self.assertEqual(result['changes']['removed'], 'appDS')
            self.assertEqual(result['changes']['created'], 'appDS')
Example #15
0
    def test_should_update_the_datasource_if_exists(self):
        ds_status = {'updated': False}

        def read_func(jboss_config, name):
            if ds_status['updated']:
                return {'success': True, 'result': {'connection-url': 'jdbc:/new-connection-url'}}
            else:
                return {'success': True, 'result': {'connection-url': 'jdbc:/old-connection-url'}}

        def update_func(jboss_config, name, new_properties):
            ds_status['updated'] = True
            return {'success': True}

        __salt__['jboss7.read_datasource'] = MagicMock(side_effect=read_func)
        __salt__['jboss7.update_datasource'] = MagicMock(side_effect=update_func)

        result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/new-connection-url'})

        __salt__['jboss7.update_datasource'].assert_called_with(name='appDS', jboss_config={}, new_properties={'connection-url': 'jdbc:/new-connection-url'})
        self.assertFalse(__salt__['jboss7.create_datasource'].called)
        self.assertEqual(result['comment'], 'Datasource updated.')
Example #16
0
    def test_should_inform_if_the_datasource_has_not_changed(self):
        read_mock = MagicMock(
            return_value={
                "success": True,
                "result": {
                    "connection-url": "jdbc:/same-connection-url"
                },
            })
        create_mock = MagicMock()
        remove_mock = MagicMock()
        update_mock = MagicMock(return_value={"success": True})

        with patch.dict(
                jboss7.__salt__,
            {
                "jboss7.read_datasource": read_mock,
                "jboss7.create_datasource": create_mock,
                "jboss7.remove_datasource": remove_mock,
                "jboss7.update_datasource": update_mock,
            },
        ):
            result = jboss7.datasource_exists(
                name="appDS",
                jboss_config={},
                datasource_properties={
                    "connection-url": "jdbc:/old-connection-url"
                },
            )

            update_mock.assert_called_with(
                name="appDS",
                jboss_config={},
                new_properties={"connection-url": "jdbc:/old-connection-url"},
                profile=None,
            )
            self.assertFalse(create_mock.called)
            self.assertEqual(result["comment"], "Datasource not changed.")