| // Copyright 2014 Google Inc. All rights reserved. | |
| // Use of this source code is governed by the Apache 2.0 | |
| // license that can be found in the LICENSE file. | |
| package appengine | |
| import ( | |
| "context" | |
| "testing" | |
| ) | |
| func TestNamespaceValidity(t *testing.T) { | |
| testCases := []struct { | |
| namespace string | |
| ok bool | |
| }{ | |
| // data from Python's namespace_manager_test.py | |
| {"", true}, | |
| {"__a.namespace.123__", true}, | |
| {"-_A....NAMESPACE-_", true}, | |
| {"-", true}, | |
| {".", true}, | |
| {".-", true}, | |
| {"?", false}, | |
| {"+", false}, | |
| {"!", false}, | |
| {" ", false}, | |
| } | |
| for _, tc := range testCases { | |
| _, err := Namespace(context.Background(), tc.namespace) | |
| if err == nil && !tc.ok { | |
| t.Errorf("Namespace %q should be rejected, but wasn't", tc.namespace) | |
| } else if err != nil && tc.ok { | |
| t.Errorf("Namespace %q should be accepted, but wasn't", tc.namespace) | |
| } | |
| } | |
| } |