def test_set_multicast_port_negative(self, *args):
        set_module_args(
            dict(multicast_port=-1,
                 multicast_address="224.0.0.245",
                 multicast_interface="eth0",
                 provider=dict(server='localhost',
                               password='******',
                               user='******')))

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

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

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

        with pytest.raises(F5ModuleError) as ex:
            mm.exec_module()

        assert 'must be between' in str(ex.value)
예제 #2
0
    def test_set_primary_mirror_address_none(self, *args):
        set_module_args(
            dict(mirror_primary_address="none",
                 provider=dict(server='localhost',
                               password='******',
                               user='******')))

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

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

        # Override methods to force specific logic in the module to happen
        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
        assert results['mirror_primary_address'] == 'none'
        assert len(results.keys()) == 2
예제 #3
0
    def test_update_settings(self, *args):
        set_module_args(
            dict(config_sync_ip="10.1.30.1",
                 mirror_primary_address="10.1.30.1",
                 unicast_failover=[dict(address="10.1.30.1")],
                 server='localhost',
                 user='******',
                 password='******'))

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

        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.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
        assert results['config_sync_ip'] == '10.1.30.1'
        assert results['mirror_primary_address'] == '10.1.30.1'
        assert len(results.keys()) == 4
예제 #4
0
 def test_api_parameters(self):
     params = load_fixture('load_tm_cm_device.json')
     p = ApiParameters(params=params)
     assert p.multicast_port == 62960
     assert p.multicast_address == '224.0.0.245'
     assert p.multicast_interface == 'eth0'
     assert p.mirror_primary_address == '10.2.2.2'
     assert p.mirror_secondary_address == '10.2.3.2'
     assert p.config_sync_ip == '10.2.2.2'
     assert len(p.unicast_failover) == 2
     assert 'effectiveIp' in p.unicast_failover[0]
     assert 'effectivePort' in p.unicast_failover[0]
     assert 'port' in p.unicast_failover[0]
     assert 'ip' in p.unicast_failover[0]
     assert p.unicast_failover[0]['effectiveIp'] == 'management-ip'
     assert p.unicast_failover[0]['ip'] == 'management-ip'
     assert p.unicast_failover[0]['port'] == 1026
     assert p.unicast_failover[0]['effectivePort'] == 1026