@@ -39,6 +39,26 @@ public function testFromPutBucketHttpsConfig()
3939 $ this ->assertEquals ('bucket-123 ' , $ input ->getBucket ());
4040 $ xml = <<<BBB
4141<?xml version="1.0" encoding="UTF-8"?><HttpsConfiguration><TLS><TLSVersion>TLSv1.2</TLSVersion><TLSVersion>TLSv1.3</TLSVersion><Enable>true</Enable></TLS></HttpsConfiguration>
42+ BBB ;
43+ $ this ->assertEquals ($ xml , $ this ->cleanXml ($ input ->getBody ()->getContents ()));
44+
45+ // demo2
46+ $ request = new Models \PutBucketHttpsConfigRequest ('bucket-123 ' , new Models \HttpsConfiguration (
47+ tls: new Models \TLS (
48+ tlsVersions: ['TLSv1.2 ' , 'TLSv1.3 ' ],
49+ enable: true
50+ ),
51+ cipherSuite: new Models \CipherSuite (
52+ enable: true ,
53+ strongCipherSuite: false ,
54+ customCipherSuites: ['ECDHE-ECDSA-AES128-SHA256 ' , 'ECDHE-RSA-AES128-GCM-SHA256 ' , 'ECDHE-ECDSA-AES256-CCM8 ' ],
55+ tls13CustomCipherSuites: ['ECDHE-ECDSA-AES256-CCM8 ' , 'ECDHE-ECDSA-AES256-CCM8 ' , 'ECDHE-ECDSA-AES256-CCM8 ' ],
56+ )
57+ ));
58+ $ input = BucketHttpsConfig::fromPutBucketHttpsConfig ($ request );
59+ $ this ->assertEquals ('bucket-123 ' , $ input ->getBucket ());
60+ $ xml = <<<BBB
61+ <?xml version="1.0" encoding="UTF-8"?><HttpsConfiguration><TLS><TLSVersion>TLSv1.2</TLSVersion><TLSVersion>TLSv1.3</TLSVersion><Enable>true</Enable></TLS><CipherSuite><Enable>true</Enable><StrongCipherSuite>false</StrongCipherSuite><CustomCipherSuite>ECDHE-ECDSA-AES128-SHA256</CustomCipherSuite><CustomCipherSuite>ECDHE-RSA-AES128-GCM-SHA256</CustomCipherSuite><CustomCipherSuite>ECDHE-ECDSA-AES256-CCM8</CustomCipherSuite><TLS13CustomCipherSuite>ECDHE-ECDSA-AES256-CCM8</TLS13CustomCipherSuite><TLS13CustomCipherSuite>ECDHE-ECDSA-AES256-CCM8</TLS13CustomCipherSuite><TLS13CustomCipherSuite>ECDHE-ECDSA-AES256-CCM8</TLS13CustomCipherSuite></CipherSuite></HttpsConfiguration>
4262BBB ;
4363 $ this ->assertEquals ($ xml , $ this ->cleanXml ($ input ->getBody ()->getContents ()));
4464 }
@@ -118,6 +138,36 @@ public function testToGetBucketHttpsConfig()
118138 $ this ->assertEquals (2 , count ($ result ->httpsConfiguration ->tls ->tlsVersions ));
119139 $ this ->assertEquals ("TLSv1.2 " , $ result ->httpsConfiguration ->tls ->tlsVersions [0 ]);
120140 $ this ->assertEquals ("TLSv1.3 " , $ result ->httpsConfiguration ->tls ->tlsVersions [1 ]);
141+
142+ $ body = '<?xml version="1.0" encoding="UTF-8"?><HttpsConfiguration><TLS><TLSVersion>TLSv1.2</TLSVersion><TLSVersion>TLSv1.3</TLSVersion><Enable>true</Enable></TLS><CipherSuite><Enable>true</Enable><StrongCipherSuite>false</StrongCipherSuite><CustomCipherSuite>ECDHE-ECDSA-AES128-SHA256</CustomCipherSuite><CustomCipherSuite>ECDHE-RSA-AES128-GCM-SHA256</CustomCipherSuite><CustomCipherSuite>ECDHE-ECDSA-AES256-CCM8</CustomCipherSuite><TLS13CustomCipherSuite>ECDHE-ECDSA-AES256-CCM8</TLS13CustomCipherSuite><TLS13CustomCipherSuite>ECDHE-ECDSA-AES256-CCM8</TLS13CustomCipherSuite><TLS13CustomCipherSuite>ECDHE-ECDSA-AES256-CCM8</TLS13CustomCipherSuite></CipherSuite></HttpsConfiguration> ' ;
143+ $ output = new OperationOutput (
144+ 'OK ' ,
145+ 200 ,
146+ ['x-oss-request-id ' => '123 ' , 'content-type ' => 'application/xml ' ],
147+ Utils::streamFor ($ body )
148+ );
149+ $ result = BucketHttpsConfig::toGetBucketHttpsConfig ($ output );
150+ $ this ->assertEquals ('OK ' , $ result ->status );
151+ $ this ->assertEquals (200 , $ result ->statusCode );
152+ $ this ->assertEquals ('123 ' , $ result ->requestId );
153+ $ this ->assertEquals (2 , count ($ result ->headers ));
154+ $ this ->assertEquals ('123 ' , $ result ->headers ['x-oss-request-id ' ]);
155+ $ this ->assertEquals ('application/xml ' , $ result ->headers ['content-type ' ]);
156+ $ this ->assertTrue ($ result ->httpsConfiguration ->tls ->enable );
157+ $ this ->assertEquals (2 , count ($ result ->httpsConfiguration ->tls ->tlsVersions ));
158+ $ this ->assertEquals ("TLSv1.2 " , $ result ->httpsConfiguration ->tls ->tlsVersions [0 ]);
159+ $ this ->assertEquals ("TLSv1.3 " , $ result ->httpsConfiguration ->tls ->tlsVersions [1 ]);
160+
161+ $ this ->assertTrue ($ result ->httpsConfiguration ->cipherSuite ->enable );
162+ $ this ->assertFalse ($ result ->httpsConfiguration ->cipherSuite ->strongCipherSuite );
163+ $ this ->assertEquals (3 , count ($ result ->httpsConfiguration ->cipherSuite ->customCipherSuites ));
164+ $ this ->assertEquals ('ECDHE-ECDSA-AES128-SHA256 ' , $ result ->httpsConfiguration ->cipherSuite ->customCipherSuites [0 ]);
165+ $ this ->assertEquals ('ECDHE-RSA-AES128-GCM-SHA256 ' , $ result ->httpsConfiguration ->cipherSuite ->customCipherSuites [1 ]);
166+ $ this ->assertEquals ('ECDHE-ECDSA-AES256-CCM8 ' , $ result ->httpsConfiguration ->cipherSuite ->customCipherSuites [2 ]);
167+ $ this ->assertEquals (3 , count ($ result ->httpsConfiguration ->cipherSuite ->tls13CustomCipherSuites ));
168+ $ this ->assertEquals ('ECDHE-ECDSA-AES256-CCM8 ' , $ result ->httpsConfiguration ->cipherSuite ->tls13CustomCipherSuites [0 ]);
169+ $ this ->assertEquals ('ECDHE-ECDSA-AES256-CCM8 ' , $ result ->httpsConfiguration ->cipherSuite ->tls13CustomCipherSuites [1 ]);
170+ $ this ->assertEquals ('ECDHE-ECDSA-AES256-CCM8 ' , $ result ->httpsConfiguration ->cipherSuite ->tls13CustomCipherSuites [2 ]);
121171 }
122172
123173 private function cleanXml ($ xml ): array |string
0 commit comments