// 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 ( "testing" "golang.org/x/net/context" ) 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) } } }