def get_table_column_schema(*args, **kwargs): column_details = {} column_details["name"] = ColumnDetails(null_ok=False, spanner_type="STRING(10)") column_details["age"] = ColumnDetails(null_ok=True, spanner_type="INT64") return column_details
def test_get_table_column_schema(self): from google.cloud.spanner_dbapi.cursor import ColumnDetails from google.cloud.spanner_dbapi import _helpers from google.cloud.spanner_v1 import param_types connection = self._make_connection(self.INSTANCE, self.DATABASE) cursor = self._make_one(connection) column_name = "column1" is_nullable = "YES" spanner_type = "spanner_type" rows = [(column_name, is_nullable, spanner_type)] expected = { column_name: ColumnDetails(null_ok=True, spanner_type=spanner_type) } with mock.patch( "google.cloud.spanner_dbapi.cursor.Cursor.run_sql_in_snapshot", return_value=rows, ) as mock_run_sql: table_name = "table1" result = cursor.get_table_column_schema(table_name=table_name) mock_run_sql.assert_called_once_with( sql=_helpers.SQL_GET_TABLE_COLUMN_SCHEMA, params={"table_name": table_name}, param_types={"table_name": param_types.STRING}, ) self.assertEqual(result, expected)