def test_update_generic_peer(self, *args):
        set_module_args(
            dict(name='some',
                 dst_address="blackhole",
                 peer_selection_mode='ratio',
                 peers=['/Common/example'],
                 provider=dict(server='localhost',
                               password='******',
                               user='******')))

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

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

        # 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['dst_address'] == 'blackhole'
        assert results['peer_selection_mode'] == 'ratio'
        assert results['peers'] == ['/Common/example']
    def test_api_parameters(self):
        args = load_fixture('load_generic_route.json')

        p = ApiParameters(params=args)
        assert p.name == 'some'
        assert p.partition == 'Common'
        assert p.dst_address == 'annoying_user'
        assert p.src_address == '99.99.99.99'
        assert p.peer_selection_mode == 'sequential'
        assert p.peers == ['/Common/testy']