Exemplo n.º 1
0
    def test_validate_csv_all_row_cells_have_headers(self):
        file_contents = b'email\n"*****@*****.**",'
        file_ = ContentFile(file_contents)
        file_ = InMemoryUploadedFile(file=file_,
                                     field_name='',
                                     name='test.csv',
                                     content_type='text/plain',
                                     size=file_.size,
                                     charset='utf-8')

        csv_object = read_csv_file(file_)
        self.assertFalse(csv_object.is_valid())
        self.assertNotEqual(csv_object.errors, [])
Exemplo n.º 2
0
    def test_validate_csv_invalid_headers(self):
        file_contents = b'email,first_name,last_name,favorite_chewing_gum\n'
        file_ = ContentFile(file_contents)
        file_ = InMemoryUploadedFile(file=file_,
                                     field_name='',
                                     name='test.csv',
                                     content_type='text/plain',
                                     size=file_.size,
                                     charset='utf-8')

        csv_object = read_csv_file(file_)
        self.assertFalse(csv_object.is_valid())
        self.assertNotEqual(csv_object.errors, [])
Exemplo n.º 3
0
    def test_validate_csv(self):
        file_contents = b'email,first_name,last_name\n"*****@*****.**","test","test"'
        file_ = ContentFile(file_contents)
        file_ = InMemoryUploadedFile(file=file_,
                                     field_name='',
                                     name='test.csv',
                                     content_type='text/plain',
                                     size=file_.size,
                                     charset='utf-8')

        csv_object = read_csv_file(file_)
        self.assertTrue(csv_object.is_valid())
        self.assertEqual(csv_object.errors, [])
Exemplo n.º 4
0
    def test_read_csv_file_with_active_groups(self):
        file_contents = (
            b'email,active_group_names\n'
            b'"*****@*****.**","moose group, jerry\'s group, Sales TEAM!!!"')
        file_ = ContentFile(file_contents)
        file_ = InMemoryUploadedFile(file=file_,
                                     field_name='',
                                     name='test.csv',
                                     content_type='text/plain',
                                     size=file_.size,
                                     charset='utf-8')

        csv_object = read_csv_file(file_)
        row_data = csv_object.rows
        col_headers = csv_object.header

        self.assertEqual(set(col_headers), {'email', 'active_group_names'})
        expected = [{
            'active_group_names': "moose group, jerry's group, Sales TEAM!!!",
            'email': '*****@*****.**'
        }]
        self.assertEqual(row_data, expected)
Exemplo n.º 5
0
    def test_read_csv_file_doesnt_strip_sanitizing_spaces(self):
        file_contents = (b'email,first_name,last_name\n'
                         b' [email protected]," +firsty"," @lasty"')
        file_ = ContentFile(file_contents)
        file_ = InMemoryUploadedFile(file=file_,
                                     field_name='',
                                     name='test.csv',
                                     content_type='text/plain',
                                     size=file_.size,
                                     charset='utf-8')

        csv_object = read_csv_file(file_)
        row_data = csv_object.rows
        col_headers = csv_object.header

        self.assertEqual(set(col_headers),
                         {'email', 'first_name', 'last_name'})
        expected = [{
            'email': ' [email protected]',
            'first_name': ' +firsty',
            'last_name': ' @lasty'
        }]
        self.assertEqual(row_data, expected)
Exemplo n.º 6
0
    def test_read_csv_file(self):
        file_contents = (b'email,first_name,last_name\n'
                         b'"*****@*****.**","firsty","lasty"')
        file_ = ContentFile(file_contents)
        file_ = InMemoryUploadedFile(file=file_,
                                     field_name='',
                                     name='test.csv',
                                     content_type='text/plain',
                                     size=file_.size,
                                     charset='utf-8')

        csv_object = read_csv_file(file_)
        row_data = csv_object.rows
        col_headers = csv_object.header

        self.assertEqual(set(col_headers),
                         {'email', 'first_name', 'last_name'})
        expected = [{
            'email': '*****@*****.**',
            'first_name': 'firsty',
            'last_name': 'lasty'
        }]
        self.assertEqual(row_data, expected)