Skip to content

Commit 8e31dd7

Browse files
fix(spanner): getTransaction type with options, cb (#8045)
* fix(spanner): getTransaction type with options, cb * test(spanner): add test for getTransaction options cb * test(spanner): add assert non error on get tx with cb Co-authored-by: alkatrivedi <58396306+alkatrivedi@users.noreply.github.com> --------- Co-authored-by: alkatrivedi <58396306+alkatrivedi@users.noreply.github.com>
1 parent 7062994 commit 8e31dd7

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

handwritten/spanner/src/database.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2267,6 +2267,10 @@ class Database extends common.GrpcServiceObject {
22672267
optionsOrCallback?: GetTransactionOptions,
22682268
): Promise<[Transaction]>;
22692269
getTransaction(callback: GetTransactionCallback): void;
2270+
getTransaction(
2271+
options: GetTransactionOptions,
2272+
callback: GetTransactionCallback,
2273+
): void;
22702274
getTransaction(
22712275
optionsOrCallback?: GetTransactionOptions | GetTransactionCallback,
22722276
callback?: GetTransactionCallback,

handwritten/spanner/test/database.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ class FakeTable {
173173

174174
class FakeTransaction extends EventEmitter {
175175
calledWith_: IArguments;
176+
runTransactionOptions: RunTransactionOptions | undefined;
176177
_options!: google.spanner.v1.ITransactionOptions;
177178
private _queuedMutations: google.spanner.v1.Mutation[];
178179
constructor(options) {
@@ -190,7 +191,9 @@ class FakeTransaction extends EventEmitter {
190191
setQueuedMutations(mutation) {
191192
this._queuedMutations = mutation;
192193
}
193-
setReadWriteTransactionOptions(options: RunTransactionOptions) {}
194+
setReadWriteTransactionOptions(options: RunTransactionOptions) {
195+
this.runTransactionOptions = options;
196+
}
194197
commit(
195198
options?: CommitOptions,
196199
callback?: CommitCallback,
@@ -2602,6 +2605,16 @@ describe('Database', () => {
26022605
});
26032606
});
26042607

2608+
it('should optionally accept runner `options`', done => {
2609+
const fakeOptions = {excludeTxnFromChangeStreams: true};
2610+
2611+
database.getTransaction(fakeOptions, (_err, transaction) => {
2612+
assert.ifError(_err);
2613+
assert.strictEqual(transaction.runTransactionOptions, fakeOptions);
2614+
done();
2615+
});
2616+
});
2617+
26052618
it('should propagate an error', done => {
26062619
const error = new Error('resource');
26072620
(sandbox.stub(fakeSessionFactory, 'release') as sinon.SinonStub)

0 commit comments

Comments
 (0)