I'm trying to implement tests for my Google Action with Assistant Conversation Testing Library.
The problem is that the execution is complaining about: "Firebase Terms of Service is not accepted". I can't find any way to accept these terms - neither in the Actions Console or in the Cloud Platform.
It was working ~two weeks ago and suddenly it stoped working with this error. As far as I know I haven't changed anything related. I also tried creating a new service_account.json, but this didn't help.
Error message/stacktrace:
Starting writePreview From Draft
Error: 9 FAILED_PRECONDITION: Firebase Terms of Service is not accepted. Navigate to your project's overview page on the Actions Console to accept the Terms of Service.
at Object.callErrorFromStatus (test/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
at Object.onReceiveStatus (test/node_modules/@grpc/grpc-js/build/src/client.js:244:52)
at Object.onReceiveStatus (test/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:334:141)
at Object.onReceiveStatus (test/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:297:181)
at test/node_modules/@grpc/grpc-js/build/src/call-stream.js:130:78
at processTicksAndRejections (internal/process/task_queues.js:75:11) {
code: 9,
details: "Firebase Terms of Service is not accepted. Navigate to your project's overview page on the Actions Console to accept the Terms of Service.",
metadata: Metadata {
internalRepr: Map(2) {
'google.rpc.preconditionfailure-bin' => [Array],
'grpc-status-details-bin' => [Array]
},
options: {}
}
}
Source Code:
const { ActionsOnGoogleTestManager } = require('@assistant/conversation-testing');
async function openAction(projectId, invocationName) {
const testManager = new ActionsOnGoogleTestManager({ projectId: projectId });
testManager.setTestSurface('SMART_DISPLAY');
testManager.setSuiteLocale("en-US")
await testManager.writePreviewFromDraft();
await testManager.sendQuery(`Talk to ${invocationName}`);
testManager.assertText("Hello World")
testManager.assertIntent('actions.intent.MAIN');
}