Я использую приспособление для тестирования приложения Pylons, но наткнулся на проблему.
Допустим, у меня есть такой набор данных:
class CompanyData(DataSet):
class test_company:
company_full_name = u'Firma Tęst'
company_short_name = u'TęstCo'
class UserData(DataSet):
class test_user:
user_login = 'testuser'
user_password = 'test'
company = CompanyData.test_company
Теперь проблема в том, что когда я использую эти данные в функциональном тесте (как описано в http://farmdev.com/projects/fixture/using-fixture-with-pylons.html),, я не могу получить идентификатор (первичный ключ) компании.
В моем приложениипользователь после входа в систему должен быть перенаправлен на страницу профиля компании, и поэтому мне нужен идентификатор компании. Тест выглядит примерно так:
self.app.post(url(controller='main', action='login'), params={
'login': UserData.test_user.user_login,
'password': UserData.test_user.user_password
})
response = self.app.get(url(
controller='events', action='index',
company_id=UserData.test_user.company.company_id, # This doesn't work
view='active'))
assert ... in response
Первый запрос регистрирует пользователя, а второйпроверяется, может ли после входа в систему получить доступ к странице профиля компании.
Таким образом, я получаю:
AttributeError: класс test_company не имеет атрибута "company_id"
Я также пытался:
UserData.test_user.company.ref('company_id')
Но это приводит к:
, что мне кажется странным ... Почему он не загружается?
Есть ли способ узнать, что является первичным ключом?