Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 20 additions & 14 deletions tests/mockserver_tests/test_basics.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
BatchCreateSessionsRequest,
ExecuteSqlRequest,
CommitRequest,
CreateSessionRequest,
)
from tests.mockserver_tests.mock_server_test_base import (
MockServerTestBase,
Expand All @@ -36,9 +37,10 @@ def verify_select1(self, results):
self.assertEqual(row[0], 1)
self.assertEqual(len(result_list), 1)
requests = self.spanner_service.requests
self.assertEqual(len(requests), 2)
self.assertEqual(len(requests), 3)
self.assertIsInstance(requests[0], BatchCreateSessionsRequest)
self.assertIsInstance(requests[1], ExecuteSqlRequest)
self.assertIsInstance(requests[1], CreateSessionRequest)
self.assertIsInstance(requests[2], ExecuteSqlRequest)

def test_select1(self):
add_select1_result()
Expand All @@ -59,9 +61,10 @@ def test_django_select_singer(self):
singers = Singer.objects.all()
self.assertEqual(len(singers), 2)
requests = self.spanner_service.requests
self.assertEqual(len(requests), 2)
self.assertEqual(len(requests), 3)
self.assertIsInstance(requests[0], BatchCreateSessionsRequest)
self.assertIsInstance(requests[1], ExecuteSqlRequest)
self.assertIsInstance(requests[1], CreateSessionRequest)
self.assertIsInstance(requests[2], ExecuteSqlRequest)

def test_django_select_singer_using_other_db(self):
add_singer_query_result(
Expand All @@ -70,9 +73,10 @@ def test_django_select_singer_using_other_db(self):
singers = Singer.objects.using("secondary").all()
self.assertEqual(len(singers), 2)
requests = self.spanner_service.requests
self.assertEqual(len(requests), 2)
self.assertEqual(len(requests), 3)
self.assertIsInstance(requests[0], BatchCreateSessionsRequest)
self.assertIsInstance(requests[1], ExecuteSqlRequest)
self.assertIsInstance(requests[1], CreateSessionRequest)
self.assertIsInstance(requests[2], ExecuteSqlRequest)

def test_insert_singer(self):
add_update_count(
Expand All @@ -84,15 +88,16 @@ def test_insert_singer(self):
singer = Singer(first_name="test", last_name="test")
singer.save()
requests = self.spanner_service.requests
self.assertEqual(len(requests), 3)
self.assertEqual(len(requests), 4)
self.assertIsInstance(requests[0], BatchCreateSessionsRequest)
self.assertIsInstance(requests[1], ExecuteSqlRequest)
self.assertIsInstance(requests[2], CommitRequest)
self.assertIsInstance(requests[1], CreateSessionRequest)
self.assertIsInstance(requests[2], ExecuteSqlRequest)
self.assertIsInstance(requests[3], CommitRequest)
# The ExecuteSqlRequest should have 3 parameters:
# 1. first_name
# 2. last_name
# 3. client-side auto-generated primary key
self.assertEqual(len(requests[1].params), 3)
self.assertEqual(len(requests[2].params), 3)

def test_insert_singer_with_disabled_random_primary_key(self):
for db, config in DATABASES.items():
Expand All @@ -115,15 +120,16 @@ class LocalSinger(models.Model):
singer = LocalSinger(first_name="test", last_name="test")
singer.save()
requests = self.spanner_service.requests
self.assertEqual(len(requests), 3)
self.assertEqual(len(requests), 4)
self.assertIsInstance(requests[0], BatchCreateSessionsRequest)
self.assertIsInstance(requests[1], ExecuteSqlRequest)
self.assertIsInstance(requests[2], CommitRequest)
self.assertIsInstance(requests[1], CreateSessionRequest)
self.assertIsInstance(requests[2], ExecuteSqlRequest)
self.assertIsInstance(requests[3], CommitRequest)
# The ExecuteSqlRequest should have 2 parameters:
# 1. first_name
# 2. last_name
# There should be no client-side auto-generated primary key.
self.assertEqual(len(requests[1].params), 2)
self.assertEqual(len(requests[2].params), 2)
finally:
for db, config in DATABASES.items():
if config["ENGINE"] == "django_spanner":
Expand Down
Loading