| // 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) |
| } |
| } |
| } |