Пример #1
0
    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)
Пример #2
0
    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()
Пример #3
0
    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
Пример #4
0
 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 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)
Пример #13
0
    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)
Пример #16
0
    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()
Пример #19
0
    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)
Пример #20
0
    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)
Пример #21
0
    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,
        )
Пример #23
0
    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,
        )
Пример #24
0
    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()
Пример #25
0
    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()
Пример #26
0
    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()
Пример #27
0
    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()
Пример #29
0
 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)
Пример #30
0
    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
Пример #31
0
 def create_user(cls):
     cls.users.append(helpers.create_user())
     return cls
Пример #32
0
    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])
Пример #33
0
    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)
Пример #36
0
 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)
Пример #38
0
 def create_user(cls):
     cls.users.append(helpers.create_user())
     return cls
    def test_private_subproject_non_contributor_access(self):
        page = helpers.get_new_subproject()
        user = helpers.create_user()

        self._test_can_access(page, user, False)
    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)