Ejemplo n.º 1
0
    def test_quickfiles_moves_destination_quickfiles_has_weird_numbers(
            self, user, quickfiles):
        other_user = factories.UserFactory()
        third_user = factories.UserFactory()

        create_test_file(quickfiles, user, filename='Woo (1).pdf')
        create_test_file(quickfiles, user, filename='Woo (3).pdf')

        create_test_file(QuickFilesNode.objects.get(creator=other_user),
                         other_user,
                         filename='Woo.pdf')
        create_test_file(QuickFilesNode.objects.get(creator=third_user),
                         other_user,
                         filename='Woo.pdf')

        user.merge_user(other_user)
        user.save()

        user.merge_user(third_user)
        user.save()

        actual_filenames = list(
            OsfStorageFile.objects.filter(node=quickfiles).values_list(
                'name', flat=True))
        expected_filenames = [
            'Woo.pdf', 'Woo (1).pdf', 'Woo (2).pdf', 'Woo (3).pdf'
        ]

        assert_items_equal(actual_filenames, expected_filenames)
Ejemplo n.º 2
0
    def test_get_erpc_participants(self):
        creator = AuthUserFactory()
        admin_contributor = AuthUserFactory()
        write_contributor = AuthUserFactory()
        read_contributor = AuthUserFactory()

        project = ProjectFactory(creator=creator)
        project.add_contributor(admin_contributor,
                                permissions=['admin'],
                                auth=Auth(creator))
        project.add_contributor(write_contributor,
                                permissions=['write'],
                                auth=Auth(creator))
        project.add_contributor(read_contributor,
                                permissions=['read'],
                                auth=Auth(creator))
        project.save()
        schema = MetaSchema.objects.get(
            name='Election Research Preacceptance Competition', active=False)

        registration = project.register_node(schema=schema,
                                             auth=Auth(creator),
                                             data='')
        registration.save()

        gathered_participant_emails = get_erpc_participants()
        expected_participant_emails = [
            admin_contributor.username, creator.username,
            write_contributor.username
        ]

        assert_items_equal(gathered_participant_emails,
                           expected_participant_emails)
        assert read_contributor not in gathered_participant_emails
Ejemplo n.º 3
0
    def test_quickfiles_moves_files_on_triple_merge_with_name_conflict(
            self, user, quickfiles):
        name = 'Woo.pdf'
        other_user = factories.UserFactory()
        third_user = factories.UserFactory()

        create_test_file(quickfiles, user, filename=name)
        create_test_file(QuickFilesNode.objects.get(creator=other_user),
                         other_user,
                         filename=name)
        create_test_file(QuickFilesNode.objects.get(creator=third_user),
                         third_user,
                         filename=name)

        user.merge_user(other_user)
        user.save()

        user.merge_user(third_user)
        user.save()

        actual_filenames = list(OsfStorageFile.objects.all().values_list(
            'name', flat=True))
        expected_filenames = ['Woo.pdf', 'Woo (1).pdf', 'Woo (2).pdf']

        assert_items_equal(actual_filenames, expected_filenames)
Ejemplo n.º 4
0
    def test_identifier_list_returns_correct_categories_and_values(self, all_identifiers, data_preprint_identifier):
        # test_identifier_list_returns_correct_categories
        categories = all_identifiers.values_list('category', flat=True)
        categories_in_response = [identifier['attributes']['category'] for identifier in data_preprint_identifier]
        assert_items_equal(categories_in_response, list(categories))

        # test_identifier_list_returns_correct_values
        values = all_identifiers.values_list('value', flat=True)
        values_in_response = [identifier['attributes']['value'] for identifier in data_preprint_identifier]
        assert_items_equal(values_in_response, list(values))
Ejemplo n.º 5
0
    def test_identifier_list_returns_correct_categories_and_values(self, all_identifiers, data_registration_identifiers):
        # test_identifier_list_returns_correct_categories
        categories = [identifier.category for identifier in all_identifiers]
        categories_in_response = [identifier['attributes']['category'] for identifier in data_registration_identifiers]
        assert_items_equal(categories_in_response, categories)

        # test_identifier_list_returns_correct_values
        values = [identifier.value for identifier in all_identifiers]
        values_in_response = [identifier['attributes']['value'] for identifier in data_registration_identifiers]
        assert_items_equal(values_in_response, values)
Ejemplo n.º 6
0
    def test_identifier_list_returns_correct_categories_and_values(
            self, all_identifiers, data_registration_identifiers):
        # test_identifier_list_returns_correct_categories
        categories = [identifier.category for identifier in all_identifiers]
        categories_in_response = [identifier['attributes']['category']
                                  for identifier in data_registration_identifiers]
        assert_items_equal(categories_in_response, categories)

        # test_identifier_list_returns_correct_values
        values = [identifier.value for identifier in all_identifiers]
        values_in_response = [identifier['attributes']['value']
                              for identifier in data_registration_identifiers]
        assert_items_equal(values_in_response, values)
Ejemplo n.º 7
0
    def test_identifier_list_returns_correct_categories_and_values(
            self, all_identifiers, data_preprint_identifier):
        # test_identifier_list_returns_correct_categories
        categories = all_identifiers.values_list('category', flat=True)
        categories_in_response = [identifier['attributes']['category']
                                  for identifier in data_preprint_identifier]
        assert_items_equal(categories_in_response, list(categories))

        # test_identifier_list_returns_correct_values
        values = all_identifiers.values_list('value', flat=True)
        values_in_response = [identifier['attributes']['value']
                              for identifier in data_preprint_identifier]
        assert_items_equal(values_in_response, list(values))
Ejemplo n.º 8
0
    def test_identifier_filter_by_category(self, app, registration, identifier_registration, url_registration_identifiers):
        IdentifierFactory(referent=registration, category='nopeid')
        identifiers_for_registration = registration.identifiers
        assert identifiers_for_registration.count() == 2
        assert_items_equal(
            list(identifiers_for_registration.values_list('category', flat=True)),
            ['carpid', 'nopeid']
        )

        filter_url = '{}?filter[category]=carpid'.format(url_registration_identifiers)
        new_res = app.get(filter_url)

        carpid_total = Identifier.objects.filter(category='carpid').count()

        total = new_res.json['links']['meta']['total']
        assert total == carpid_total
Ejemplo n.º 9
0
    def test_identifier_filter_by_category(self, app, node, identifier_node,
                                           url_node_identifiers):
        IdentifierFactory(referent=node, category='nopeid')
        identifiers_for_node = Identifier.objects.filter(object_id=node.id)

        assert identifiers_for_node.count() == 2
        assert_items_equal(
            [identifier.category for identifier in identifiers_for_node],
            ['carpid', 'nopeid'])

        filter_url = '{}?filter[category]=carpid'.format(url_node_identifiers)
        new_res = app.get(filter_url)

        carpid_total = Identifier.objects.filter(category='carpid').count()

        total = new_res.json['links']['meta']['total']
        assert total == carpid_total
Ejemplo n.º 10
0
    def test_quickfiles_moves_files_on_triple_merge_with_name_conflict_with_digit(self, user, quickfiles):
        name = 'Woo (1).pdf'
        other_user = factories.UserFactory()
        third_user = factories.UserFactory()

        create_test_file(quickfiles, user, filename=name)
        create_test_file(QuickFilesNode.objects.get(creator=other_user), other_user, filename=name)
        create_test_file(QuickFilesNode.objects.get(creator=third_user), third_user, filename=name)

        user.merge_user(other_user)
        user.save()

        user.merge_user(third_user)
        user.save()

        actual_filenames = list(OsfStorageFile.objects.all().values_list('name', flat=True))
        expected_filenames = ['Woo (1).pdf', 'Woo (2).pdf', 'Woo (3).pdf']
        assert_items_equal(actual_filenames, expected_filenames)
Ejemplo n.º 11
0
    def test_identifier_filter_by_category(
            self, app, node, identifier_node, url_node_identifiers):
        IdentifierFactory(referent=node, category='nopeid')
        identifiers_for_node = Identifier.objects.filter(object_id=node.id)

        assert identifiers_for_node.count() == 2
        assert_items_equal(
            [identifier.category for identifier in identifiers_for_node],
            ['carpid', 'nopeid']
        )

        filter_url = '{}?filter[category]=carpid'.format(url_node_identifiers)
        new_res = app.get(filter_url)

        carpid_total = Identifier.objects.filter(category='carpid').count()

        total = new_res.json['links']['meta']['total']
        assert total == carpid_total
Ejemplo n.º 12
0
    def test_quickfiles_moves_destination_quickfiles_has_weird_numbers(self, user, quickfiles):
        other_user = factories.UserFactory()
        third_user = factories.UserFactory()

        create_test_file(quickfiles, user, filename='Woo (1).pdf')
        create_test_file(quickfiles, user, filename='Woo (3).pdf')

        create_test_file(QuickFilesNode.objects.get(creator=other_user), other_user, filename='Woo.pdf')
        create_test_file(QuickFilesNode.objects.get(creator=third_user), other_user, filename='Woo.pdf')

        user.merge_user(other_user)
        user.save()

        user.merge_user(third_user)
        user.save()

        actual_filenames = list(quickfiles.files.all().values_list('name', flat=True))
        expected_filenames = ['Woo.pdf', 'Woo (1).pdf', 'Woo (2).pdf', 'Woo (3).pdf']

        assert_items_equal(actual_filenames, expected_filenames)
Ejemplo n.º 13
0
    def test_get_erpc_participants(self):
        creator = AuthUserFactory()
        admin_contributor = AuthUserFactory()
        write_contributor = AuthUserFactory()
        read_contributor = AuthUserFactory()

        project = ProjectFactory(creator=creator)
        project.add_contributor(admin_contributor, permissions=['admin'], auth=Auth(creator))
        project.add_contributor(write_contributor, permissions=['write'], auth=Auth(creator))
        project.add_contributor(read_contributor, permissions=['read'], auth=Auth(creator))
        project.save()
        schema = MetaSchema.objects.get(name='Election Research Preacceptance Competition', active=False)

        registration = project.register_node(schema=schema, auth=Auth(creator), data='')
        registration.save()

        gathered_participant_emails = get_erpc_participants()
        expected_participant_emails = [admin_contributor.username, creator.username, write_contributor.username]

        assert_items_equal(gathered_participant_emails, expected_participant_emails)
        assert read_contributor not in gathered_participant_emails
Ejemplo n.º 14
0
    def test_identifier_filter_by_category(
            self, app, registration, identifier_registration,
            url_registration_identifiers
    ):
        IdentifierFactory(referent=registration, category='nopeid')
        identifiers_for_registration = registration.identifiers
        assert identifiers_for_registration.count() == 2
        assert_items_equal(
            list(
                identifiers_for_registration.values_list(
                    'category',
                    flat=True
                )
            ), ['carpid', 'nopeid']
        )

        filter_url = '{}?filter[category]=carpid'.format(
            url_registration_identifiers)
        new_res = app.get(filter_url)

        carpid_total = Identifier.objects.filter(category='carpid').count()

        total = new_res.json['links']['meta']['total']
        assert total == carpid_total