@@ -615,223 +615,6 @@ def api_request(cls, *args, **kwargs):
615615 expected_cw = [((), expected_called_kwargs )]
616616 self .assertEqual (_FakeConnection ._called_with , expected_cw )
617617
618- def test_create_w_user_project (self ):
619- from google .cloud .storage .client import Client
620-
621- PROJECT = "PROJECT"
622- BUCKET_NAME = "bucket-name"
623- USER_PROJECT = "user-project-123"
624-
625- client = Client (project = PROJECT )
626- client ._base_connection = _Connection ()
627-
628- bucket = self ._make_one (client , BUCKET_NAME , user_project = USER_PROJECT )
629-
630- with self .assertRaises (ValueError ):
631- bucket .create ()
632-
633- def test_create_w_missing_client_project (self ):
634- from google .cloud .storage .client import Client
635-
636- BUCKET_NAME = "bucket-name"
637-
638- client = Client (project = None )
639- bucket = self ._make_one (client , BUCKET_NAME )
640-
641- with self .assertRaises (ValueError ):
642- bucket .create ()
643-
644- def test_create_w_explicit_project (self ):
645- from google .cloud .storage .client import Client
646-
647- PROJECT = "PROJECT"
648- BUCKET_NAME = "bucket-name"
649- OTHER_PROJECT = "other-project-123"
650- DATA = {"name" : BUCKET_NAME }
651- connection = _make_connection (DATA )
652-
653- client = Client (project = PROJECT )
654- client ._base_connection = connection
655-
656- bucket = self ._make_one (client , BUCKET_NAME )
657- bucket .create (project = OTHER_PROJECT )
658- connection .api_request .assert_called_once_with (
659- method = "POST" ,
660- path = "/b" ,
661- query_params = {"project" : OTHER_PROJECT },
662- data = DATA ,
663- _target_object = bucket ,
664- timeout = self ._get_default_timeout (),
665- )
666-
667- def test_create_w_explicit_location (self ):
668- from google .cloud .storage .client import Client
669-
670- PROJECT = "PROJECT"
671- BUCKET_NAME = "bucket-name"
672- LOCATION = "us-central1"
673- DATA = {"location" : LOCATION , "name" : BUCKET_NAME }
674-
675- connection = _make_connection (
676- DATA , "{'location': 'us-central1', 'name': 'bucket-name'}"
677- )
678-
679- client = Client (project = PROJECT )
680- client ._base_connection = connection
681-
682- bucket = self ._make_one (client , BUCKET_NAME )
683- bucket .create (location = LOCATION )
684-
685- connection .api_request .assert_called_once_with (
686- method = "POST" ,
687- path = "/b" ,
688- data = DATA ,
689- _target_object = bucket ,
690- query_params = {"project" : "PROJECT" },
691- timeout = self ._get_default_timeout (),
692- )
693- self .assertEqual (bucket .location , LOCATION )
694-
695- def test_create_hit (self ):
696- from google .cloud .storage .client import Client
697-
698- PROJECT = "PROJECT"
699- BUCKET_NAME = "bucket-name"
700- DATA = {"name" : BUCKET_NAME }
701- connection = _make_connection (DATA )
702- client = Client (project = PROJECT )
703- client ._base_connection = connection
704-
705- bucket = self ._make_one (client = client , name = BUCKET_NAME )
706- bucket .create (timeout = 42 )
707-
708- connection .api_request .assert_called_once_with (
709- method = "POST" ,
710- path = "/b" ,
711- query_params = {"project" : PROJECT },
712- data = DATA ,
713- _target_object = bucket ,
714- timeout = 42 ,
715- )
716-
717- def test_create_w_extra_properties (self ):
718- from google .cloud .storage .client import Client
719-
720- BUCKET_NAME = "bucket-name"
721- PROJECT = "PROJECT"
722- CORS = [
723- {
724- "maxAgeSeconds" : 60 ,
725- "methods" : ["*" ],
726- "origin" : ["https://example.com/frontend" ],
727- "responseHeader" : ["X-Custom-Header" ],
728- }
729- ]
730- LIFECYCLE_RULES = [{"action" : {"type" : "Delete" }, "condition" : {"age" : 365 }}]
731- LOCATION = "eu"
732- LABELS = {"color" : "red" , "flavor" : "cherry" }
733- STORAGE_CLASS = "NEARLINE"
734- DATA = {
735- "name" : BUCKET_NAME ,
736- "cors" : CORS ,
737- "lifecycle" : {"rule" : LIFECYCLE_RULES },
738- "location" : LOCATION ,
739- "storageClass" : STORAGE_CLASS ,
740- "versioning" : {"enabled" : True },
741- "billing" : {"requesterPays" : True },
742- "labels" : LABELS ,
743- }
744-
745- connection = _make_connection (DATA )
746- client = Client (project = PROJECT )
747- client ._base_connection = connection
748-
749- bucket = self ._make_one (client = client , name = BUCKET_NAME )
750- bucket .cors = CORS
751- bucket .lifecycle_rules = LIFECYCLE_RULES
752- bucket .storage_class = STORAGE_CLASS
753- bucket .versioning_enabled = True
754- bucket .requester_pays = True
755- bucket .labels = LABELS
756- bucket .create (location = LOCATION )
757-
758- connection .api_request .assert_called_once_with (
759- method = "POST" ,
760- path = "/b" ,
761- query_params = {"project" : PROJECT },
762- data = DATA ,
763- _target_object = bucket ,
764- timeout = self ._get_default_timeout (),
765- )
766-
767- def test_create_w_predefined_acl_invalid (self ):
768- from google .cloud .storage .client import Client
769-
770- PROJECT = "PROJECT"
771- BUCKET_NAME = "bucket-name"
772- DATA = {"name" : BUCKET_NAME }
773- connection = _Connection (DATA )
774- client = Client (project = PROJECT )
775- client ._base_connection = connection
776- bucket = self ._make_one (client = client , name = BUCKET_NAME )
777-
778- with self .assertRaises (ValueError ):
779- bucket .create (predefined_acl = "bogus" )
780-
781- def test_create_w_predefined_acl_valid (self ):
782- from google .cloud .storage .client import Client
783-
784- PROJECT = "PROJECT"
785- BUCKET_NAME = "bucket-name"
786- DATA = {"name" : BUCKET_NAME }
787- connection = _Connection (DATA )
788- client = Client (project = PROJECT )
789- client ._base_connection = connection
790- bucket = self ._make_one (client = client , name = BUCKET_NAME )
791- bucket .create (predefined_acl = "publicRead" )
792-
793- kw , = connection ._requested
794- self .assertEqual (kw ["method" ], "POST" )
795- self .assertEqual (kw ["path" ], "/b" )
796- expected_qp = {"project" : PROJECT , "predefinedAcl" : "publicRead" }
797- self .assertEqual (kw ["query_params" ], expected_qp )
798- self .assertEqual (kw ["data" ], DATA )
799- self .assertEqual (kw ["timeout" ], self ._get_default_timeout ())
800-
801- def test_create_w_predefined_default_object_acl_invalid (self ):
802- from google .cloud .storage .client import Client
803-
804- PROJECT = "PROJECT"
805- BUCKET_NAME = "bucket-name"
806- DATA = {"name" : BUCKET_NAME }
807- connection = _Connection (DATA )
808- client = Client (project = PROJECT )
809- client ._base_connection = connection
810- bucket = self ._make_one (client = client , name = BUCKET_NAME )
811-
812- with self .assertRaises (ValueError ):
813- bucket .create (predefined_default_object_acl = "bogus" )
814-
815- def test_create_w_predefined_default_object_acl_valid (self ):
816- from google .cloud .storage .client import Client
817-
818- PROJECT = "PROJECT"
819- BUCKET_NAME = "bucket-name"
820- DATA = {"name" : BUCKET_NAME }
821- connection = _Connection (DATA )
822- client = Client (project = PROJECT )
823- client ._base_connection = connection
824- bucket = self ._make_one (client = client , name = BUCKET_NAME )
825- bucket .create (predefined_default_object_acl = "publicRead" )
826-
827- kw , = connection ._requested
828- self .assertEqual (kw ["method" ], "POST" )
829- self .assertEqual (kw ["path" ], "/b" )
830- expected_qp = {"project" : PROJECT , "predefinedDefaultObjectAcl" : "publicRead" }
831- self .assertEqual (kw ["query_params" ], expected_qp )
832- self .assertEqual (kw ["data" ], DATA )
833- self .assertEqual (kw ["timeout" ], self ._get_default_timeout ())
834-
835618 def test_acl_property (self ):
836619 from google .cloud .storage .acl import BucketACL
837620
@@ -2013,6 +1796,51 @@ def test_versioning_enabled_getter(self):
20131796 bucket = self ._make_one (name = NAME , properties = before )
20141797 self .assertEqual (bucket .versioning_enabled , True )
20151798
1799+ @mock .patch ("warnings.warn" )
1800+ def test_create_deprecated (self , mock_warn ):
1801+ from google .cloud .storage .client import Client
1802+
1803+ PROJECT = "PROJECT"
1804+ BUCKET_NAME = "bucket-name"
1805+ DATA = {"name" : BUCKET_NAME }
1806+ connection = _make_connection (DATA )
1807+ client = Client (project = PROJECT )
1808+ client ._base_connection = connection
1809+
1810+ bucket = self ._make_one (client = client , name = BUCKET_NAME )
1811+ bucket .create ()
1812+
1813+ connection .api_request .assert_called_once_with (
1814+ method = "POST" ,
1815+ path = "/b" ,
1816+ query_params = {"project" : PROJECT },
1817+ data = DATA ,
1818+ _target_object = bucket ,
1819+ timeout = self ._get_default_timeout (),
1820+ )
1821+
1822+ mock_warn .assert_called_with (
1823+ "Bucket.create() is deprecated and will be removed in future."
1824+ "Use Client.create_bucket() instead." ,
1825+ PendingDeprecationWarning ,
1826+ stacklevel = 1 ,
1827+ )
1828+
1829+ def test_create_w_user_project (self ):
1830+ from google .cloud .storage .client import Client
1831+
1832+ PROJECT = "PROJECT"
1833+ BUCKET_NAME = "bucket-name"
1834+ DATA = {"name" : BUCKET_NAME }
1835+ connection = _make_connection (DATA )
1836+ client = Client (project = PROJECT )
1837+ client ._base_connection = connection
1838+
1839+ bucket = self ._make_one (client = client , name = BUCKET_NAME )
1840+ bucket ._user_project = "USER_PROJECT"
1841+ with self .assertRaises (ValueError ):
1842+ bucket .create ()
1843+
20161844 def test_versioning_enabled_setter (self ):
20171845 NAME = "name"
20181846 bucket = self ._make_one (name = NAME )
0 commit comments