コード例 #1
0
    def test_api_strict_updates_from_top_level(self):
        args = dict(strictUpdates='enabled')
        p = Parameters(params=args)
        assert p.strict_updates == 'enabled'

        args = dict(strictUpdates='disabled')
        p = Parameters(params=args)
        assert p.strict_updates == 'disabled'
コード例 #2
0
    def test_module_strict_updates_from_top_level(self):
        # Assumes the user did not provide any parameters

        args = dict(
            strict_updates=True
        )
        p = Parameters(params=args)
        assert p.strict_updates == 'enabled'

        args = dict(
            strict_updates=False
        )
        p = Parameters(params=args)
        assert p.strict_updates == 'disabled'
コード例 #3
0
 def test_module_template_same_partition_full_path(self):
     args = dict(
         template='/bar/foo',
         partition='bar'
     )
     p = Parameters(params=args)
     assert p.template == '/bar/foo'
コード例 #4
0
    def test_module_strict_updates_only_parameters(self):
        args = dict(
            parameters=dict(
                strictUpdates='disabled'
            )
        )
        p = Parameters(params=args)
        assert p.strict_updates == 'disabled'

        args = dict(
            parameters=dict(
                strictUpdates='enabled'
            )
        )
        p = Parameters(params=args)
        assert p.strict_updates == 'enabled'
コード例 #5
0
    def test_update_agent_status_traps(self, *args):
        parameters = load_fixture('update_iapp_service_parameters_f5_http.json')
        set_module_args(dict(
            name='foo',
            template='f5.http',
            parameters=parameters,
            state='present',
            password='******',
            server='localhost',
            user='******'
        ))

        # Configure the parameters that would be returned by querying the
        # remote device
        parameters = load_fixture('create_iapp_service_parameters_f5_http.json')
        current = Parameters(parameters)

        module = AnsibleModule(
            argument_spec=self.spec.argument_spec,
            supports_check_mode=self.spec.supports_check_mode
        )
        mm = ModuleManager(module=module)

        # Override methods to force specific logic in the module to happen
        mm.exists = Mock(return_value=True)
        mm.update_on_device = Mock(return_value=True)
        mm.read_current_from_device = Mock(return_value=current)

        results = mm.exec_module()
        assert results['changed'] is True
コード例 #6
0
    def test_module_parameters_tables(self):
        args = load_fixture('create_iapp_service_parameters_f5_http.json')
        p = Parameters(params=args)

        assert 'tables' in p._values

        assert 'columnNames' in p.tables[0]
        assert len(p.tables[0]['columnNames']) == 1
        assert p.tables[0]['columnNames'][0] == 'name'

        assert 'name' in p.tables[0]
        assert p.tables[0]['name'] == 'pool__hosts'

        assert 'rows' in p.tables[0]
        assert len(p.tables[0]['rows']) == 1
        assert 'row' in p.tables[0]['rows'][0]
        assert len(p.tables[0]['rows'][0]['row']) == 1
        assert p.tables[0]['rows'][0]['row'][0] == 'demo.example.com'

        assert len(p.tables[1]['rows']) == 2
        assert 'row' in p.tables[0]['rows'][0]
        assert len(p.tables[1]['rows'][0]['row']) == 2
        assert p.tables[1]['rows'][0]['row'][0] == '10.1.1.1'
        assert p.tables[1]['rows'][0]['row'][1] == '0'
        assert p.tables[1]['rows'][1]['row'][0] == '10.1.1.2'
        assert p.tables[1]['rows'][1]['row'][1] == '0'
コード例 #7
0
 def test_module_template_different_partition_full_path(self):
     args = dict(
         template='/Common/foo',
         partition='bar'
     )
     p = Parameters(params=args)
     assert p.template == '/Common/foo'
コード例 #8
0
 def test_api_parameters_variables(self):
     args = dict(variables=[
         dict(name="client__http_compression",
              encrypted="no",
              value="/#create_new#")
     ])
     p = Parameters(params=args)
     assert p.variables[0]['name'] == 'client__http_compression'
コード例 #9
0
    def test_module_strict_updates_override_from_top_level(self):
        args = dict(
            strict_updates=True,
            parameters=dict(
                strictUpdates='disabled'
            )
        )
        p = Parameters(params=args)
        assert p.strict_updates == 'enabled'

        args = dict(
            strict_updates=False,
            parameters=dict(
                strictUpdates='enabled'
            )
        )
        p = Parameters(params=args)
        assert p.strict_updates == 'disabled'
コード例 #10
0
    def test_module_parameters_keys(self):
        args = load_fixture('create_iapp_service_parameters_f5_http.json')
        p = Parameters(params=args)

        # Assert the top-level keys
        assert p.name == 'http_example'
        assert p.partition == 'Common'
        assert p.template == '/Common/f5.http'
        assert p.deviceGroup == 'none'
        assert p.inheritedTrafficGroup == 'true'
        assert p.inheritedDevicegroup == 'true'
        assert p.traffic_group == '/Common/traffic-group-local-only'
コード例 #11
0
    def test_module_parameters_lists(self):
        args = load_fixture('create_iapp_service_parameters_f5_http.json')
        p = Parameters(params=args)

        assert 'lists' in p._values

        assert p.lists[0]['name'] == 'irules__irules'
        assert p.lists[0]['encrypted'] == 'no'
        assert len(p.lists[0]['value']) == 1
        assert p.lists[0]['value'][0] == '/Common/lgyft'

        assert p.lists[1]['name'] == 'net__client_vlan'
        assert p.lists[1]['encrypted'] == 'no'
        assert len(p.lists[1]['value']) == 1
        assert p.lists[1]['value'][0] == '/Common/net2'
コード例 #12
0
    def test_module_parameters_variables(self):
        args = load_fixture('create_iapp_service_parameters_f5_http.json')
        p = Parameters(params=args)

        assert 'variables' in p._values
        assert len(p.variables) == 34

        # Assert one configuration value
        assert 'name' in p.variables[0]
        assert 'value' in p.variables[0]
        assert p.variables[0]['name'] == 'afm__dos_security_profile'
        assert p.variables[0]['value'] == '/#do_not_use#'

        # Assert a second configuration value
        assert 'name' in p.variables[1]
        assert 'value' in p.variables[1]
        assert p.variables[1]['name'] == 'afm__policy'
        assert p.variables[1]['value'] == '/#do_not_use#'
コード例 #13
0
 def test_api_parameters_tables(self):
     args = dict(
         tables=[
             {
                 "name": "pool__members",
                 "columnNames": [
                     "addr",
                     "port",
                     "connection_limit"
                 ],
                 "rows": [
                     {
                         "row": [
                             "12.12.12.12",
                             "80",
                             "0"
                         ]
                     },
                     {
                         "row": [
                             "13.13.13.13",
                             "443",
                             10
                         ]
                     }
                 ]
             }
         ]
     )
     p = Parameters(params=args)
     assert p.tables[0]['name'] == 'pool__members'
     assert p.tables[0]['columnNames'] == ['addr', 'port', 'connection_limit']
     assert len(p.tables[0]['rows']) == 2
     assert 'row' in p.tables[0]['rows'][0]
     assert 'row' in p.tables[0]['rows'][1]
     assert p.tables[0]['rows'][0]['row'] == ['12.12.12.12', '80', '0']
     assert p.tables[0]['rows'][1]['row'] == ['13.13.13.13', '443', '10']
コード例 #14
0
 def test_api_parameters_traffic_group(self):
     args = dict(
         trafficGroup='/Common/traffic-group-local-only'
     )
     p = Parameters(params=args)
     assert p.traffic_group == '/Common/traffic-group-local-only'
コード例 #15
0
 def test_api_parameters_inherited_devicegroup(self):
     args = dict(
         inheritedDevicegroup='true'
     )
     p = Parameters(params=args)
     assert p.inheritedDevicegroup == 'true'
コード例 #16
0
 def test_api_parameters_inherited_traffic_group(self):
     args = dict(
         inheritedTrafficGroup='true'
     )
     p = Parameters(params=args)
     assert p.inheritedTrafficGroup == 'true'
コード例 #17
0
 def test_api_parameters_device_group(self):
     args = dict(
         deviceGroup='none'
     )
     p = Parameters(params=args)
     assert p.deviceGroup == 'none'