def test_direct_bind(self):
        LDAP = dict(BIND_DN='x=%(username)s')
        self.app.config.update(LDAP=LDAP)
        loginmanager = LDAPLoginManager(self.app)
        loginmanager.connect()

        result = loginmanager.direct_bind('username', 'password')
        self.assertIsNone(result)

        result = loginmanager.direct_bind('user1', 'pass1')
        self.assertIsNotNone(result)
        self.assertEqual(result, {'dn': 'x=user1', 'key': 'value1', 'uid': 'user1'})
    def test_direct_bind(self):
        LDAP = dict(BIND_DN='x=%(username)s')
        self.app.config.update(LDAP=LDAP)
        loginmanager = LDAPLoginManager(self.app)
        loginmanager.connect()

        result = loginmanager.direct_bind('username', 'password')
        self.assertIsNone(result)

        result = loginmanager.direct_bind('user1', 'pass1')
        self.assertIsNotNone(result)
        self.assertEqual(result, {'key': 'value1', 'uid': 'user1'})
    def test_direct_bind(self):
        LDAP = dict(BIND_DN="x=%(username)s")
        self.app.config.update(LDAP=LDAP)
        loginmanager = LDAPLoginManager(self.app)
        loginmanager.connect()

        result = loginmanager.direct_bind("username", "password")
        self.assertIsNone(result)

        result = loginmanager.direct_bind("user1", "pass1")
        self.assertIsNotNone(result)
        self.assertEqual(result, {"key": "value1", "uid": "user1"})
    def test_direct_bind_keymap(self):

        LDAP = dict(BIND_DN='x=%(username)s', KEY_MAP={'transformed_key':'key'})
        self.app.config.update(LDAP=LDAP)

        loginmanager = LDAPLoginManager(self.app)
        loginmanager.connect()

        result = loginmanager.direct_bind('user1', 'pass1')
        self.assertIsNotNone(result)
        self.assertEqual(result, {'transformed_key': 'value1'})
    def test_direct_bind_keymap(self):

        LDAP = dict(BIND_DN="x=%(username)s", KEY_MAP={"transformed_key": "key"})
        self.app.config.update(LDAP=LDAP)

        loginmanager = LDAPLoginManager(self.app)
        loginmanager.connect()

        result = loginmanager.direct_bind("user1", "pass1")
        self.assertIsNotNone(result)
        self.assertEqual(result, {"transformed_key": "value1"})
    def test_direct_bind_keymap(self):

        LDAP = dict(BIND_DN='x=%(username)s',
                    KEY_MAP={'transformed_key': 'key'})
        self.app.config.update(LDAP=LDAP)

        loginmanager = LDAPLoginManager(self.app)
        loginmanager.connect()

        result = loginmanager.direct_bind('user1', 'pass1')
        self.assertIsNotNone(result)
        self.assertEqual(result, {'transformed_key': 'value1'})