test(spanner): fix retry unit tests with RESOURCE_EXHAUSTED errors (#10117)

* test(spanner): fix retry unit tests with RESOURCE_EXHAUSTED errors

* fix comments
diff --git a/spanner/client_test.go b/spanner/client_test.go
index 2dea747..61915b8 100644
--- a/spanner/client_test.go
+++ b/spanner/client_test.go
@@ -3989,7 +3989,6 @@
 }
 
 func TestClient_CallOptions(t *testing.T) {
-	t.Skip("https://github.com/googleapis/google-cloud-go/issues/10069")
 	t.Parallel()
 	co := &vkit.CallOptions{
 		CreateSession: []gax.CallOption{
@@ -4016,7 +4015,7 @@
 	cs := &gax.CallSettings{}
 	// This is the default retry setting.
 	c.CallOptions.CreateSession[1].Resolve(cs)
-	if got, want := fmt.Sprintf("%v", cs.Retry()), "&{{250000000 32000000000 1.3 0} [14]}"; got != want {
+	if got, want := fmt.Sprintf("%v", cs.Retry()), "&{{250000000 32000000000 1.3 0} [14 8]}"; got != want {
 		t.Fatalf("merged CallOptions is incorrect: got %v, want %v", got, want)
 	}
 
diff --git a/spanner/internal/testutil/inmem_spanner_server.go b/spanner/internal/testutil/inmem_spanner_server.go
index a85f028..968f109 100644
--- a/spanner/internal/testutil/inmem_spanner_server.go
+++ b/spanner/internal/testutil/inmem_spanner_server.go
@@ -730,8 +730,9 @@
 	sessionsToCreate := req.SessionCount
 	s.mu.Lock()
 	defer s.mu.Unlock()
+	// return a non-retryable error if the limit is reached
 	if s.maxSessionsReturnedByServerInTotal > int32(0) && int32(len(s.sessions)) >= s.maxSessionsReturnedByServerInTotal {
-		return nil, gstatus.Error(codes.ResourceExhausted, "No more sessions available")
+		return nil, gstatus.Error(codes.OutOfRange, "No more sessions available")
 	}
 	if sessionsToCreate > s.maxSessionsReturnedByServerPerBatchRequest {
 		sessionsToCreate = s.maxSessionsReturnedByServerPerBatchRequest
diff --git a/spanner/sessionclient_test.go b/spanner/sessionclient_test.go
index 34afa96..02234ee 100644
--- a/spanner/sessionclient_test.go
+++ b/spanner/sessionclient_test.go
@@ -424,7 +424,6 @@
 }
 
 func TestBatchCreateSessions_ServerExhausted(t *testing.T) {
-	t.Skip("https://github.com/googleapis/google-cloud-go/issues/10070")
 	t.Parallel()
 
 	numChannels := 4
@@ -443,12 +442,12 @@
 	consumer := newTestConsumer(numSessions)
 	client.sc.batchCreateSessions(numSessions, true, consumer)
 	<-consumer.receivedAll
-	// Session creation should end with at least one RESOURCE_EXHAUSTED error.
+	// Session creation should end with at least one non-retryable error.
 	if len(consumer.errors) == 0 {
 		t.Fatalf("Error count mismatch\nGot: %d\nWant: > %d", len(consumer.errors), 0)
 	}
 	for _, e := range consumer.errors {
-		if g, w := status.Code(e.err), codes.ResourceExhausted; g != w {
+		if g, w := status.Code(e.err), codes.OutOfRange; g != w {
 			t.Fatalf("Error code mismath\nGot: %v\nWant: %v", g, w)
 		}
 	}