Initial project import
This commit is contained in:
commit
23f2d29e32
11957 files changed
+1754577
No files matched your search
@@ -0,0 +1,45 @@
|
||||
// Copyright (c) 2019-2026 Alexander Medvednikov. All rights reserved.
|
||||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
module s3
|
||||
|
||||
fn test_validate_bucket_name_accepts_valid() {
|
||||
validate_bucket_name('my-bucket') or { assert false, 'should pass' }
|
||||
validate_bucket_name('a.b.c') or { assert false, 'should pass' }
|
||||
validate_bucket_name('abc') or { assert false, 'should pass' }
|
||||
validate_bucket_name('a' + 'b'.repeat(61) + 'c') or { assert false, 'should pass' }
|
||||
}
|
||||
|
||||
fn test_validate_bucket_name_rejects_invalid() {
|
||||
if _ := validate_bucket_name('Bad-UPPER') {
|
||||
assert false, 'uppercase must be rejected'
|
||||
}
|
||||
if _ := validate_bucket_name('ab') {
|
||||
assert false, 'shorter than 3 chars must be rejected'
|
||||
}
|
||||
if _ := validate_bucket_name('-leading-hyphen') {
|
||||
assert false, 'leading hyphen must be rejected'
|
||||
}
|
||||
if _ := validate_bucket_name('trailing-hyphen-') {
|
||||
assert false, 'trailing hyphen must be rejected'
|
||||
}
|
||||
if _ := validate_bucket_name('192.168.0.1') {
|
||||
assert false, 'IPv4-shaped name must be rejected'
|
||||
}
|
||||
if _ := validate_bucket_name('a..b') {
|
||||
assert false, 'consecutive dots must be rejected'
|
||||
}
|
||||
if _ := validate_bucket_name('a.-b') {
|
||||
assert false, 'adjacent dot/hyphen must be rejected'
|
||||
}
|
||||
if _ := validate_bucket_name('a-.b') {
|
||||
assert false, 'adjacent hyphen/dot must be rejected'
|
||||
}
|
||||
if _ := validate_bucket_name('') {
|
||||
assert false, 'empty name must be rejected'
|
||||
}
|
||||
long := 'a'.repeat(64)
|
||||
if _ := validate_bucket_name(long) {
|
||||
assert false, 'longer than 63 chars must be rejected'
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user