Revision bc4f25c0 snf-pithos-app/pithos/api/test/objects.py

b/snf-pithos-app/pithos/api/test/objects.py
42 42
                             AssertMappingInvariant, AssertUUidInvariant,
43 43
                             TEST_BLOCK_SIZE, TEST_HASH_ALGORITHM,
44 44
                             DATE_FORMATS)
45
from pithos.api.test.util import md5_hash, merkle, strnextling, get_random_data
45
from pithos.api.test.util import (md5_hash, merkle, strnextling,
46
                                  get_random_data, get_random_name)
46 47

  
47 48
from synnefo.lib import join_urls
48 49

  
......
128 129
        self.assertEqual(r.status_code, 404)
129 130

  
130 131
        # upload object with trailing space
131
        oname = self.upload_object('c1', quote('%s ' % get_random_data(8)))[0]
132
        oname = self.upload_object('c1', quote('%s ' % get_random_name()))[0]
132 133

  
133 134
        url = join_urls(self.pithos_path, self.user, 'c1', oname)
134 135
        r = self.get(url)
......
314 315

  
315 316
        # perform get with If-Match
316 317
        url = join_urls(self.pithos_path, self.user, cname, oname)
317
        r = self.get(url, HTTP_IF_MATCH=get_random_data(8))
318
        r = self.get(url, HTTP_IF_MATCH=get_random_name())
318 319
        self.assertEqual(r.status_code, 412)
319 320

  
320 321
    def test_if_none_match(self):
......
494 495
class ObjectPut(PithosAPITest):
495 496
    def setUp(self):
496 497
        PithosAPITest.setUp(self)
497
        self.container = get_random_data(8)
498
        self.container = get_random_name()
498 499
        self.create_container(self.container)
499 500

  
500 501
    def test_upload(self):
501 502
        cname = self.container
502
        oname = get_random_data(8)
503
        oname = get_random_name()
503 504
        data = get_random_data()
504 505
        meta = {'test': 'test1'}
505 506
        headers = dict(('HTTP_X_OBJECT_META_%s' % k.upper(), v)
......
526 527

  
527 528
    def test_maximum_upload_size_exceeds(self):
528 529
        cname = self.container
529
        oname = get_random_data(8)
530
        oname = get_random_name()
530 531

  
531 532
        # set container quota to 100
532 533
        url = join_urls(self.pithos_path, self.user, cname)
......
543 544

  
544 545
    def test_upload_with_name_containing_slash(self):
545 546
        cname = self.container
546
        oname = '/%s' % get_random_data(8)
547
        oname = '/%s' % get_random_name()
547 548
        data = get_random_data()
548 549
        url = join_urls(self.pithos_path, self.user, cname, oname)
549 550
        r = self.put(url, data=data)
......
557 558

  
558 559
    def test_upload_unprocessable_entity(self):
559 560
        cname = self.container
560
        oname = get_random_data(8)
561
        oname = get_random_name()
561 562
        data = get_random_data()
562 563
        url = join_urls(self.pithos_path, self.user, cname, oname)
563 564
        r = self.put(url, data=data, HTTP_ETAG='123')
......
565 566

  
566 567
#    def test_chunked_transfer(self):
567 568
#        cname = self.container
568
#        oname = '/%s' % get_random_data(8)
569
#        oname = '/%s' % get_random_name()
569 570
#        data = get_random_data()
570 571
#        url = join_urls(self.pithos_path, self.user, cname, oname)
571 572
#        r = self.put(url, data=data, HTTP_TRANSFER_ENCODING='chunked')
......
582 583
            data += self.upload_object(cname, oname=part)[1]
583 584

  
584 585
        manifest = '%s/%s' % (cname, prefix)
585
        oname = get_random_data(8)
586
        oname = get_random_name()
586 587
        url = join_urls(self.pithos_path, self.user, cname, oname)
587 588
        r = self.put(url, data='', HTTP_X_OBJECT_MANIFEST=manifest)
588 589
        self.assertEqual(r.status_code, 201)
......
595 596
        self.assertEqual(r.content, data)
596 597

  
597 598
        # invalid manifestation
598
        invalid_manifestation = '%s/%s' % (cname, get_random_data(8))
599
        invalid_manifestation = '%s/%s' % (cname, get_random_name())
599 600
        self.put(url, data='', HTTP_X_OBJECT_MANIFEST=invalid_manifestation)
600 601
        r = self.get(url)
601 602
        self.assertEqual(r.content, '')
602 603

  
603 604
    def test_create_zero_length_object(self):
604 605
        cname = self.container
605
        oname = get_random_data(8)
606
        oname = get_random_name()
606 607
        url = join_urls(self.pithos_path, self.user, cname, oname)
607 608
        r = self.put(url, data='')
608 609
        self.assertEqual(r.status_code, 201)
......
629 630
        url = join_urls(self.pithos_path, self.user, cname, oname)
630 631
        r = self.get('%s?hashmap=&format=json' % url)
631 632

  
632
        oname = get_random_data(8)
633
        oname = get_random_name()
633 634
        url = join_urls(self.pithos_path, self.user, cname, oname)
634 635
        r = self.put('%s?hashmap=' % url, data=r.content)
635 636
        self.assertEqual(r.status_code, 201)
......
655 656
        with AssertMappingInvariant(self.get_object_info, self.container,
656 657
                                    self.object):
657 658
            # copy object
658
            oname = get_random_data(8)
659
            oname = get_random_name()
659 660
            url = join_urls(self.pithos_path, self.user, self.container, oname)
660 661
            r = self.put(url, data='', HTTP_X_OBJECT_META_TEST='testcopy',
661 662
                         HTTP_X_COPY_FROM='/%s/%s' % (
......
679 680
        self.create_container(cname)
680 681
        with AssertMappingInvariant(self.get_object_info, self.container,
681 682
                                    self.object):
682
            oname = get_random_data(8)
683
            oname = get_random_name()
683 684
            url = join_urls(self.pithos_path, self.user, cname, oname)
684 685
            r = self.put(url, data='', HTTP_X_OBJECT_META_TEST='testcopy',
685 686
                         HTTP_X_COPY_FROM='/%s/%s' % (
......
700 701

  
701 702
    def test_copy_invalid(self):
702 703
        # copy from non-existent object
703
        oname = get_random_data(8)
704
        oname = get_random_name()
704 705
        url = join_urls(self.pithos_path, self.user, self.container, oname)
705 706
        r = self.put(url, data='', HTTP_X_OBJECT_META_TEST='testcopy',
706 707
                     HTTP_X_COPY_FROM='/%s/%s' % (
707
                         self.container, get_random_data(8)))
708
                         self.container, get_random_name()))
708 709
        self.assertEqual(r.status_code, 404)
709 710

  
710 711
        # copy from non-existent container
711
        oname = get_random_data(8)
712
        oname = get_random_name()
712 713
        url = join_urls(self.pithos_path, self.user, self.container, oname)
713 714
        r = self.put(url, data='', HTTP_X_OBJECT_META_TEST='testcopy',
714 715
                     HTTP_X_COPY_FROM='/%s/%s' % (
715
                         get_random_data(8), self.object))
716
                         get_random_name(), self.object))
716 717
        self.assertEqual(r.status_code, 404)
717 718

  
718 719
    def test_copy_dir(self):
719 720
        folder = self.create_folder(self.container)[0]
720 721
        subfolder = self.create_folder(
721
            self.container, oname='%s/%s' % (folder, get_random_data(8)))[0]
722
            self.container, oname='%s/%s' % (folder, get_random_name()))[0]
722 723
        objects = [subfolder]
723 724
        append = objects.append
724 725
        append(self.upload_object(self.container,
725
                                  '%s/%s' % (folder, get_random_data(8)),
726
                                  '%s/%s' % (folder, get_random_name()),
726 727
                                  HTTP_X_OBJECT_META_DEPTH='1')[0])
727 728
        append(self.upload_object(self.container,
728
                                  '%s/%s' % (subfolder, get_random_data(8)),
729
                                  '%s/%s' % (subfolder, get_random_name()),
729 730
                                  HTTP_X_OBJECT_META_DEPTH='2')[0])
730 731
        other = self.upload_object(self.container, strnextling(folder))[0]
731 732

  
......
772 773

  
773 774
    def test_move(self):
774 775
        # move object
775
        oname = get_random_data(8)
776
        oname = get_random_name()
776 777
        url = join_urls(self.pithos_path, self.user, self.container, oname)
777 778
        r = self.put(url, data='', HTTP_X_OBJECT_META_TEST='testcopy',
778 779
                     HTTP_X_MOVE_FROM='/%s/%s' % (
......
799 800
    def test_move_dir(self):
800 801
        folder = self.create_folder(self.container)[0]
801 802
        subfolder = self.create_folder(
802
            self.container, oname='%s/%s' % (folder, get_random_data(8)))[0]
803
            self.container, oname='%s/%s' % (folder, get_random_name()))[0]
803 804
        objects = [subfolder]
804 805
        append = objects.append
805 806
        meta = {}
806 807
        meta[objects[0]] = {}
807 808
        append(self.upload_object(self.container,
808
                                  '%s/%s' % (folder, get_random_data(8)),
809
                                  '%s/%s' % (folder, get_random_name()),
809 810
                                  HTTP_X_OBJECT_META_DEPTH='1')[0])
810 811
        meta[objects[1]] = {'X-Object-Meta-Depth': '1'}
811 812
        append(self.upload_object(self.container,
812
                                  '%s/%s' % (subfolder, get_random_data(8)),
813
                                  '%s/%s' % (subfolder, get_random_name()),
813 814
                                  HTTP_X_OBJECT_META_DEPTH='2')[0])
814 815
        meta[objects[1]] = {'X-Object-Meta-Depth': '2'}
815 816
        other = self.upload_object(self.container, strnextling(folder))[0]
......
1081 1082

  
1082 1083
    def test_update_from_other_object(self):
1083 1084
        src = self.object
1084
        dest = get_random_data(8)
1085
        dest = get_random_name()
1085 1086

  
1086 1087
        url = join_urls(self.pithos_path, self.user, self.container, src)
1087 1088
        r = self.get(url)
......
1111 1112

  
1112 1113
    def test_update_range_from_other_object(self):
1113 1114
        src = self.object
1114
        dest = get_random_data(8)
1115
        dest = get_random_name()
1115 1116

  
1116 1117
        url = join_urls(self.pithos_path, self.user, self.container, src)
1117 1118
        r = self.get(url)
......
1156 1157

  
1157 1158
    def test_delete_non_existent(self):
1158 1159
        url = join_urls(self.pithos_path, self.user, self.container,
1159
                        get_random_data(8))
1160
                        get_random_name())
1160 1161
        r = self.delete(url)
1161 1162
        self.assertEqual(r.status_code, 404)
1162 1163

  
1163 1164
    def test_delete_dir(self):
1164 1165
        folder = self.create_folder(self.container)[0]
1165 1166
        subfolder = self.create_folder(
1166
            self.container, oname='%s/%s' % (folder, get_random_data(8)))[0]
1167
            self.container, oname='%s/%s' % (folder, get_random_name()))[0]
1167 1168
        objects = [subfolder]
1168 1169
        append = objects.append
1169 1170
        meta = {}
1170 1171
        meta[objects[0]] = {}
1171 1172
        append(self.upload_object(self.container,
1172
                                  '%s/%s' % (folder, get_random_data(8)),
1173
                                  '%s/%s' % (folder, get_random_name()),
1173 1174
                                  HTTP_X_OBJECT_META_DEPTH='1')[0])
1174 1175
        meta[objects[1]] = {'X-Object-Meta-Depth': '1'}
1175 1176
        append(self.upload_object(self.container,
1176
                                  '%s/%s' % (subfolder, get_random_data(8)),
1177
                                  '%s/%s' % (subfolder, get_random_name()),
1177 1178
                                  HTTP_X_OBJECT_META_DEPTH='2')[0])
1178 1179
        meta[objects[1]] = {'X-Object-Meta-Depth': '2'}
1179 1180
        other = self.upload_object(self.container, strnextling(folder))[0]

Also available in: Unified diff