def setUp(self): # get the API key for an unrelated user page = LoginPage().log_in(helpers.create_user()) self.api_key = page.settings.add_api_key() page.close() # create a user to use self.user = helpers.create_user() self.browser = LoginPage().log_in(self.user)
def setUp(self): page = LoginPage().log_in(helpers.create_user()) self.client = OsfClient(api_key=page.settings.add_api_key()) page.log_out() page = page.user_login.log_in(helpers.create_user()) self.non_contrib_client = OsfClient( api_key=page.settings.add_api_key()) page.close()
def setUpClass(cls): super(RemoveContributorFixture, cls).setUpClass() cls.users.append(create_user()) cls.users.append(create_user()) cls.page.add_multi_contributor(cls.users[1], cls.users[2]) cls.page.remove_contributor(cls.users[1]) cls.old_id = cls.page.id
def setUpClass(cls): super(AddContributorImportFromParentFixture, cls).setUpClass() cls.child_url=cls.page.driver.current_url cls.project_url = cls.page.parent_project().driver.current_url cls.page.driver.get(cls.project_url) cls.users.append(create_user()) cls.users.append(create_user()) cls.page.add_multi_contributor(cls.users[1], cls.users[2]) cls.page.driver.get(cls.child_url) cls.page.add_parent_contributor() cls.page.driver.get(cls.child_url)
def setUp(self): page = LoginPage().log_in(helpers.create_user()) self.client = OsfClient( api_key=page.settings.add_api_key() ) page.log_out() page = page.user_login.log_in(helpers.create_user()) self.non_contrib_client = OsfClient( api_key=page.settings.add_api_key() ) page.close()
def setUp(self): self.user = helpers.create_user() page = LoginPage().log_in(self.user) key = page.settings.add_api_key() page.close() self.client = OsfClient(api_key=key)
def test_private_project_contributor_access(self): page = helpers.get_new_project() user = helpers.create_user() page.add_contributor(user) self._test_can_access(page, user)
def test_private_subproject_contributor_access(self): page = helpers.get_new_subproject() user = helpers.create_user() page.add_contributor(user) self._test_can_access(page, user)
def test_private_nested_component_contributor_access(self): page = helpers.get_new_nested_component() user = helpers.create_user() page.add_contributor(user) self._test_can_access(page, user)
def _test_add_contributor_access(self, page): _url = page.driver.current_url second_user = helpers.create_user() page.add_contributor(second_user) self.assertIn( second_user.full_name, [x.full_name for x in page.contributors] ) page.close() page = LoginPage() page.log_in(second_user) page.driver.get(_url) page = ProjectPage(driver=page.driver) self.assertIn( second_user.full_name, [x.full_name for x in page.contributors], ) page.close()
def test_change_user_fullname(self): user = helpers.create_user() page = LoginPage().log_in(user) profile_page = page.driver.find_element_by_link_text( 'My Public Profile' ).get_attribute('href') key = page.settings.add_api_key() page.close() r = requests.post( profile_page + 'edit/', auth=( key.key, '', ), data={ 'name': 'fullname', 'value': 'praC auhsoJ' } ) self.assertEqual(r.status_code, http.OK) self.assertEqual( json.loads(r.content).get('response'), 'success', ) page = LoginPage().log_in(user) self.assertEqual( page.profile.full_name, 'praC auhsoJ' ) page.close()
def test_change_user_fullname(self): user = helpers.create_user() page = LoginPage().log_in(user) profile_page = page.driver.find_element_by_link_text( 'My Public Profile').get_attribute('href') key = page.settings.add_api_key() page.close() r = requests.post(profile_page + 'edit/', auth=( key.key, '', ), data={ 'name': 'fullname', 'value': 'praC auhsoJ' }) self.assertEqual(r.status_code, http.OK) self.assertEqual( json.loads(r.content).get('response'), 'success', ) page = LoginPage().log_in(user) self.assertEqual(page.profile.full_name, 'praC auhsoJ') page.close()
def test_public_component_contributor_access(self): page = helpers.get_new_component() user = helpers.create_user() page.public = True page.add_contributor(user) self._test_can_access(page, user)
def test_public_nested_component_contributor_access(self): page = helpers.get_new_nested_component() user = helpers.create_user() page.public = True page.add_contributor(user) self._test_can_access(page, user)
def setUp(self): # create a user self.user = helpers.create_user() # log them in self.browser = LoginPage().log_in(self.user) # create a new API key self.api_key = self.browser.settings.add_api_key()
def _test_add_contributor_listed(self, page): second_user = helpers.create_user() page.add_contributor(second_user) self.assertIn(second_user.full_name, [x.full_name for x in page.contributors]) page.close()
def _test_add_contributor_listed(self, page): second_user = helpers.create_user() page.add_contributor(second_user) self.assertIn( second_user.full_name, [x.full_name for x in page.contributors] ) page.close()
def setUpClass(cls): super(NonContributorModifyFixture, cls).setUpClass() old_id = cls.page.id cls.page.add_file([x for x in FILES if x.name == 'test.jpg'][0]) cls.page.log_out() cls.users.append(create_user()) cls.log_in(cls.users[-1]) cls.page = cls.page.node(old_id)
def test_public_subproject_title_non_contributor(self): page = helpers.get_new_subproject() page.public = True _url = page.driver.current_url page.close() page = LoginPage().log_in(user=helpers.create_user()) page.driver.get(_url) page = ProjectPage(driver=page.driver) self._test_title(page, can_modify=False)
def setUpClass(cls): super(UserAccessFixture, cls).setUpClass() cls.cookies = dict() cls.cookies['contributor'] = cls.page.driver.get_cookies() s = requests.session() user = helpers.create_user() resp = s.post( config.osf_home + '/login/', data = { 'username': user.email, 'password': user.password, }, ), cls.cookies['noncontributor'] = helpers.convert_cookies(s.cookies)
def test_others_profile(self): own_profile = self.client.user() # Create another user, get their API key other_user = helpers.create_user() page = LoginPage().log_in(other_user) key = page.settings.add_api_key() page.close() other_client = OsfClient(api_key=key) other_profile = self.client.user(user_id=other_client.user().id) self.assertNotEqual( own_profile.id, other_profile.id, )
def test_public_project_privacy_non_contributor(self): page = helpers.get_new_project() page.public = True _url = page.driver.current_url page.close() page = LoginPage().log_in(user=helpers.create_user()) page.driver.get(_url) page = ProjectPage(driver=page.driver) with self.assertRaises(NoSuchElementException): page.public = False page.close()
def test_public_nested_component_title_change_non_contributor(self): page = helpers.get_new_nested_component() page.public = True _url = page.driver.current_url page.log_out() page.close() page = LoginPage() page.log_in(helpers.create_user()) page.driver.get(_url) page = ProjectPage(driver=page.driver) with self.assertRaises(NoSuchElementException): page.title = 'changed' page.close()
def setUpClass(cls): super(ForkAccessFixture, cls).setUpClass() cls.old_id = cls.page.id #create public and private subprojects and components cls.page = cls.page.add_component( title='Public Subproject', component_type='Project', ) cls.page.public = True cls.page = cls.page.node(cls.old_id) cls.page = cls.page.add_component( title='Public Component', ) cls.page.public = True cls.page = cls.page.node(cls.old_id) cls.page.add_component( title='Private Subproject', component_type='Project', ) cls.page = cls.page.node(cls.old_id) cls.page.add_component( title='Private Component' ) cls.page = cls.page.node(cls.old_id) # log in as second user cls.page.log_out() cls.users.append(create_user()) cls.log_in(cls.users[-1]) # fork project cls.page = cls.page.node(cls.old_id) cls.page.fork()
def setUpClass(cls): super(AddContributorChildrenFixture, cls).setUpClass() cls.old_id = cls.page.id # create subproject cls.page = cls.page.add_component( title='Test Subproject', component_type='Project', ) cls.subproject_id = cls.page.id cls.page = cls.page.node(cls.old_id) # create component cls.page = cls.page.add_component( title='Test Component', ) cls.component_id = cls.page.id cls.page = cls.page.node(cls.old_id) cls.users.append(create_user()) cls.page.add_contributor(cls.users[-1], children=True) cls.page = cls.page.node(cls.old_id)
def _test_add_contributor_access(self, page): _url = page.driver.current_url second_user = helpers.create_user() page.add_contributor(second_user) self.assertIn(second_user.full_name, [x.full_name for x in page.contributors]) page.close() page = LoginPage() page.log_in(second_user) page.driver.get(_url) page = ProjectPage(driver=page.driver) self.assertIn( second_user.full_name, [x.full_name for x in page.contributors], ) page.close()
def test_user_key_creation(self): user = helpers.create_user() page = LoginPage().log_in(user) key = page.settings.add_api_key() page.close() self.assertIsInstance(key, ApiKey)
def setUpClass(cls): super(AddContributorFixture, cls).setUpClass() cls.users.append(create_user()) cls.page.add_contributor(cls.users[-1]) cls.old_id = cls.page.id
def create_user(cls): cls.users.append(helpers.create_user()) return cls
def setUpClass(cls): super(AddMultiContributorFixture, cls).setUpClass() cls.users.append(create_user()) cls.users.append(create_user()) cls.page.add_multi_contributor(cls.users[1], cls.users[2])
def setUpClass(cls): super(AddMultiContributorDeleteFixture, cls).setUpClass() cls.users.append(create_user()) cls.users.append(create_user()) cls.page.add_multi_contributor_delete(cls.users[-2], cls.users[-1])
def test_public_subproject_non_contributor_access(self): page = helpers.get_new_subproject() user = helpers.create_user() page.public = True self._test_can_access(page, user)
def test_private_component_non_contributor_access(self): page = helpers.get_new_component() user = helpers.create_user() self._test_can_access(page, user, False)
def setUp(self): # create a user to use self.user = helpers.create_user() self.browser = LoginPage().log_in(self.user)
def test_private_nested_component_non_contributor_access(self): page = helpers.get_new_nested_component() user = helpers.create_user() self._test_can_access(page, user, False)
def test_private_subproject_non_contributor_access(self): page = helpers.get_new_subproject() user = helpers.create_user() self._test_can_access(page, user, False)