| 
									
										
										
										
											2014-08-27 11:17:06 -04:00
										 |  |  | from __future__ import unicode_literals | 
					
						
							| 
									
										
										
										
											2013-05-03 19:33:13 -04:00
										 |  |  | from sure import expect | 
					
						
							| 
									
										
										
										
											2014-06-27 15:37:51 -06:00
										 |  |  | from moto.s3.utils import bucket_name_from_url, _VersionedKeyStore | 
					
						
							| 
									
										
										
										
											2013-05-03 19:33:13 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def test_base_url(): | 
					
						
							|  |  |  |     expect(bucket_name_from_url('https://s3.amazonaws.com/')).should.equal(None) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def test_localhost_bucket(): | 
					
						
							| 
									
										
										
										
											2017-02-23 21:37:43 -05:00
										 |  |  |     expect(bucket_name_from_url('https://wfoobar.localhost:5000/abc') | 
					
						
							|  |  |  |            ).should.equal("wfoobar") | 
					
						
							| 
									
										
										
										
											2013-05-03 19:33:13 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def test_localhost_without_bucket(): | 
					
						
							| 
									
										
										
										
											2017-02-23 21:37:43 -05:00
										 |  |  |     expect(bucket_name_from_url( | 
					
						
							|  |  |  |         'https://www.localhost:5000/def')).should.equal(None) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-27 15:37:51 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | def test_versioned_key_store(): | 
					
						
							|  |  |  |     d = _VersionedKeyStore() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d.should.have.length_of(0) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d['key'] = [1] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d.should.have.length_of(1) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d['key'] = 2 | 
					
						
							|  |  |  |     d.should.have.length_of(1) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d.should.have.key('key').being.equal(2) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d.get.when.called_with('key').should.return_value(2) | 
					
						
							|  |  |  |     d.get.when.called_with('badkey').should.return_value(None) | 
					
						
							|  |  |  |     d.get.when.called_with('badkey', 'HELLO').should.return_value('HELLO') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # Tests key[ | 
					
						
							|  |  |  |     d.shouldnt.have.key('badkey') | 
					
						
							|  |  |  |     d.__getitem__.when.called_with('badkey').should.throw(KeyError) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d.getlist('key').should.have.length_of(2) | 
					
						
							|  |  |  |     d.getlist('key').should.be.equal([[1], 2]) | 
					
						
							|  |  |  |     d.getlist('badkey').should.be.none | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d.setlist('key', 1) | 
					
						
							|  |  |  |     d.getlist('key').should.be.equal([1]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d.setlist('key', (1, 2)) | 
					
						
							|  |  |  |     d.getlist('key').shouldnt.be.equal((1, 2)) | 
					
						
							|  |  |  |     d.getlist('key').should.be.equal([1, 2]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     d.setlist('key', [[1], [2]]) | 
					
						
							|  |  |  |     d['key'].should.have.length_of(1) | 
					
						
							|  |  |  |     d.getlist('key').should.be.equal([[1], [2]]) |