|
- /*
- Copyright 2017 Google LLC
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-
- package spanner
-
- import (
- "strings"
- "testing"
- )
-
- // Test validDatabaseName()
- func TestValidDatabaseName(t *testing.T) {
- validDbURI := "projects/spanner-cloud-test/instances/foo/databases/foodb"
- invalidDbUris := []string{
- // Completely wrong DB URI.
- "foobarDB",
- // Project ID contains "/".
- "projects/spanner-cloud/test/instances/foo/databases/foodb",
- // No instance ID.
- "projects/spanner-cloud-test/instances//databases/foodb",
- }
- if err := validDatabaseName(validDbURI); err != nil {
- t.Errorf("validateDatabaseName(%q) = %v, want nil", validDbURI, err)
- }
- for _, d := range invalidDbUris {
- if err, wantErr := validDatabaseName(d), "should conform to pattern"; !strings.Contains(err.Error(), wantErr) {
- t.Errorf("validateDatabaseName(%q) = %q, want error pattern %q", validDbURI, err, wantErr)
- }
- }
- }
-
- func TestReadOnlyTransactionClose(t *testing.T) {
- // Closing a ReadOnlyTransaction shouldn't panic.
- c := &Client{}
- tx := c.ReadOnlyTransaction()
- tx.Close()
- }
|