def test_update_generic_peer(self, *args):
        set_module_args(
            dict(name='test',
                 auto_init_interval=3000,
                 ratio=120,
                 provider=dict(server='localhost',
                               password='******',
                               user='******')))

        current = ApiParameters(params=load_fixture('load_generic_peer.json'))

        module = AnsibleModule(
            argument_spec=self.spec.argument_spec,
            supports_check_mode=self.spec.supports_check_mode,
            required_if=self.spec.required_if)

        # Override methods in the specific type of manager
        gm = GenericModuleManager(module=module)
        gm.exists = Mock(return_value=True)
        gm.update_on_device = Mock(return_value=True)
        gm.read_current_from_device = Mock(return_value=current)

        mm = ModuleManager(module=module)
        mm.version_less_than_14 = Mock(return_value=False)
        mm.get_manager = Mock(return_value=gm)

        results = mm.exec_module()

        assert results['changed'] is True
        assert results['auto_init_interval'] == 3000
        assert results['ratio'] == 120
    def test_create_generic_peer(self, *args):
        set_module_args(
            dict(name='foo',
                 partition='foobar',
                 description='my description',
                 auto_init='yes',
                 auto_init_interval=1234,
                 connection_mode='per-peer',
                 number_of_connections=20,
                 pool='/Common/example',
                 ratio=10,
                 transport_config='/Common/virtual',
                 provider=dict(server='localhost',
                               password='******',
                               user='******')))

        module = AnsibleModule(
            argument_spec=self.spec.argument_spec,
            supports_check_mode=self.spec.supports_check_mode,
            required_if=self.spec.required_if)

        # Override methods in the specific type of manager
        gm = GenericModuleManager(module=module)
        gm.exists = Mock(return_value=False)
        gm.create_on_device = Mock(return_value=True)

        mm = ModuleManager(module=module)
        mm.version_less_than_14 = Mock(return_value=False)
        mm.get_manager = Mock(return_value=gm)

        results = mm.exec_module()

        assert results['changed'] is True
        assert results['auto_init'] == 'yes'
        assert results['description'] == 'my description'
        assert results['auto_init_interval'] == 1234
        assert results['connection_mode'] == 'per-peer'
        assert results['number_of_connections'] == 20
        assert results['pool'] == '/Common/example'
        assert results['ratio'] == 10
        assert results['transport_config'] == '/Common/virtual'