class AddUserDataFromApiKeyTest(SeecrTestCase):
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.retrieve = AddUserDataFromApiKey()
        self.observer = CallTrace('observer')
        self.retrieve.addObserver(self.observer)

    def testNoApiKey(self):
        self.assertRaises(AttributeError, lambda: lico(self.retrieve.add(identifier='identifier', partname='rdf', data='RDF')))

    def testApiKeyRetrieves(self):
        self.observer.returnValues['getForApiKey'] = {'username': '******'}
        self.observer.emptyGeneratorMethods.append('add')
        __callstack_var_authorization__ = {'apiKey': 'MonkeyWrench'}
        lico(self.retrieve.add(identifier='identifier', partname='rdf', data='RDF'))
        self.assertEquals(['getForApiKey', 'add'], [m.name for m in self.observer.calledMethods])
        self.assertEquals({'apiKey':'MonkeyWrench'}, self.observer.calledMethods[0].kwargs)
        self.assertEquals(dict(identifier='identifier', partname='user', data='User Name'), self.observer.calledMethods[1].kwargs)
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.retrieve = AddUserDataFromApiKey()
     self.observer = CallTrace('observer')
     self.retrieve.addObserver(self.observer)