def test_cred1_call(): keyring = MemoryKeyring() cred = UserPassword("name", keyring=keyring) # we will set the name but not the password, expecting UI # requesting it assert_equal(keyring.set('name', 'user', 'user1'), None) assert_equal(keyring.get('name', 'user'), 'user1') assert_equal(cred(), {'user': '******', 'password': '******'}) assert_equal(keyring.get('name', 'password'), 'password1')
def test_cred1_call(): keyring = MemoryKeyring() cred = UserPassword("name", keyring=keyring) # we will set the name but not the password, expecting UI # requesting it assert_equal(keyring.set('name', 'user', 'user1'), None) assert_equal(keyring.get('name', 'user'), 'user1') assert_equal(cred(), {'user': '******', 'password': '******'}) assert_equal(keyring.get('name', 'password'), 'password1')
def test_cred1_enter_new(): keyring = MemoryKeyring() cred = UserPassword("name", keyring=keyring) assert_false(cred.is_known) assert_equal(cred.enter_new(), None) assert_true(cred.is_known) assert_equal(keyring.get('name', 'user'), 'user1') assert_equal(keyring.get('name', 'password'), 'password1') keyring.delete('name') assert_raises(KeyError, keyring.delete, 'name', 'user') assert_raises(KeyError, keyring.delete, 'name') assert_equal(keyring.get('name', 'user'), None)
def test_cred1_enter_new(): keyring = MemoryKeyring() cred = UserPassword("name", keyring=keyring) assert_false(cred.is_known) assert_equal(cred.enter_new(), None) assert_true(cred.is_known) assert_equal(keyring.get('name', 'user'), 'user1') assert_equal(keyring.get('name', 'password'), 'password1') keyring.delete('name') assert_raises(KeyError, keyring.delete, 'name', 'user') assert_raises(KeyError, keyring.delete, 'name') assert_equal(keyring.get('name', 'user'), None)
def test_composite_credential1(): # basic test of composite credential keyring = MemoryKeyring() cred = _CCred1("name", keyring=keyring) # When queried, does the chain assert_equal(cred(), {'user': '******', 'password': '******'}) # But the "Front" credential is exposed to the user assert_equal(cred.get('user'), 'user1') assert_equal(keyring.get('name', 'user'), 'user1') assert_raises(ValueError, cred.get, 'unknown_field') assert_equal(cred.get('password'), 'password1') assert_equal(keyring.get('name', 'password'), 'password1') # ATM composite credential stores "derived" ones unconditionally in the # keyring as well assert_equal(keyring.get('name:1', 'user'), 'user1_1') assert_equal(keyring.get('name:1', 'password'), 'password1_2') # and now enter new should remove "derived" entries cred.enter_new() assert_equal(keyring.get('name', 'user'), 'user2') assert_equal(keyring.get('name', 'password'), 'password2') assert_equal(keyring.get('name:1', 'user'), None) assert_equal(keyring.get('name:1', 'password'), None) # which would get reevaluated if requested assert_equal(keyring.entries, { 'name:1': {}, 'name': { 'user': '******', 'password': '******' } }) assert_equal(cred(), {'user': '******', 'password': '******'})
def test_composite_credential1(): # basic test of composite credential keyring = MemoryKeyring() cred = _CCred1("name", keyring=keyring) # When queried, does the chain assert_equal(cred(), {'user': '******', 'password': '******'}) # But the "Front" credential is exposed to the user assert_equal(cred.get('user'), 'user1') assert_equal(keyring.get('name', 'user'), 'user1') assert_raises(ValueError, cred.get, 'unknown_field') assert_equal(cred.get('password'), 'password1') assert_equal(keyring.get('name', 'password'), 'password1') # ATM composite credential stores "derived" ones unconditionally in the # keyring as well assert_equal(keyring.get('name:1', 'user'), 'user1_1') assert_equal(keyring.get('name:1', 'password'), 'password1_2') # and now enter new should remove "derived" entries cred.enter_new() assert_equal(keyring.get('name', 'user'), 'user2') assert_equal(keyring.get('name', 'password'), 'password2') assert_equal(keyring.get('name:1', 'user'), None) assert_equal(keyring.get('name:1', 'password'), None) # which would get reevaluated if requested assert_equal(keyring.entries, {'name:1': {}, 'name': {'user': '******', 'password': '******'}}) assert_equal(cred(), {'user': '******', 'password': '******'})
def test_cred1_call(): keyring = MemoryKeyring() cred = UserPassword("name", keyring=keyring) # we will set the name but not the password, expecting UI # requesting it assert_equal(keyring.set('name', 'user', 'user1'), None) assert_equal(keyring.get('name', 'user'), 'user1') assert_equal(cred(), {'user': '******', 'password': '******'}) assert_equal(keyring.get('name', 'password'), 'password1') # without intervention the same credentials will be reused # in subsequent attempts assert_equal(cred(), {'user': '******', 'password': '******'}) with patch.dict(dlcfg._merged_store, {'datalad.credentials.force-ask': 'yes'}): assert_equal(cred(), {'user': '******', 'password': '******'}) assert_equal(keyring.get('name', 'user'), 'newuser') assert_equal(keyring.get('name', 'password'), 'newpassword')
def test_cred1_enter_new(): keyring = MemoryKeyring() cred = UserPassword("name", keyring=keyring) assert_false(cred.is_known) assert_equal(cred.enter_new(), None) assert_true(cred.is_known) assert_equal(keyring.get('name', 'user'), 'user1') assert_equal(keyring.get('name', 'password'), 'password1') keyring.delete('name') assert_raises(KeyError, keyring.delete, 'name', 'user') assert_raises(KeyError, keyring.delete, 'name') assert_equal(keyring.get('name', 'user'), None) # Test it blowing up if we provide unknown field with assert_raises(ValueError) as cme: cred.enter_new(username='******') assert_in('field(s): username. Known but not specified: password, user', str(cme.exception)) # Test that if user is provided, it is not asked cred.enter_new(user='******') assert_equal(keyring.get('name', 'user'), 'user2') assert_equal(keyring.get('name', 'password'), 'newpassword')
def test_cred1_enter_new(): keyring = MemoryKeyring() cred = UserPassword("name", keyring=keyring) assert_false(cred.is_known) assert_equal(cred.enter_new(), None) assert_true(cred.is_known) assert_equal(keyring.get('name', 'user'), 'user1') assert_equal(keyring.get('name', 'password'), 'password1') keyring.delete('name') assert_raises(KeyError, keyring.delete, 'name', 'user') assert_raises(KeyError, keyring.delete, 'name') assert_equal(keyring.get('name', 'user'), None) # Test it blowing up if we provide unknown field with assert_raises(ValueError) as cme: cred.enter_new(username='******') assert_in('field(s): username. Known but not specified: password, user', str(cme.exception)) # Test that if user is provided, it is not asked cred.enter_new(user='******') assert_equal(keyring.get('name', 'user'), 'user2') assert_equal(keyring.get('name', 'password'), 'newpassword')