Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 15 02:01
    dependabot[bot] labeled #141
  • Jan 15 02:01
    dependabot[bot] opened #141
  • Jan 15 02:01

    dependabot[bot] on npm_and_yarn

    Bump shelljs from 0.8.3 to 0.8.… (compare)

  • Nov 16 2021 21:41
    dependabot[bot] labeled #140
  • Nov 16 2021 21:41
    dependabot[bot] opened #140
  • Nov 16 2021 21:41

    dependabot[bot] on npm_and_yarn

    Bump aws-sdk from 2.402.0 to 2.… (compare)

  • Nov 08 2021 14:35
    jkelvie closed #139
  • Nov 08 2021 14:35

    jkelvie on master

    Added DeleteItem capability to … (compare)

  • Nov 08 2021 14:35
    jkelvie commented #139
  • Nov 08 2021 10:25
    allthepies commented #108
  • Nov 08 2021 10:16
    allthepies synchronize #139
  • Nov 05 2021 17:26
    allthepies opened #139
  • Oct 04 2021 14:16
    ysak-y opened #138
  • Aug 10 2021 17:39
    dependabot[bot] labeled #137
  • Aug 10 2021 17:39
    dependabot[bot] opened #137
  • Aug 10 2021 17:39

    dependabot[bot] on npm_and_yarn

    Bump path-parse from 1.0.5 to 1… (compare)

  • Jun 10 2021 16:37
    btburton42 commented #115
  • Jun 07 2021 21:51
    jkelvie commented #115
  • May 09 2021 23:41
    dependabot[bot] labeled #136
  • May 09 2021 23:41
    dependabot[bot] opened #136
Colin MacAllister
@dcoli
@jperata, in our app we're sending data with the fulfillment response conversation in a property called "data." So what we need in the Virtual GA is to intercept and set conversation tokens and persist them between calls to the assistant.
Juan Perata
@jperata
Hi @dcoli , I will create a feature request with that detail on the virtual google assistant project, for that it would be very helpful if you could sent us a JSON request example with the fields you are setting up and a Response received with that data persisted. That way we can ensure that we are replicating your problem.
Colin MacAllister
@dcoli
@jperata, I have an example of a typical request and a successful response, obtained by posting the request via curl (Postman). Do you have an email where I can send it? We'd like to keep it private.
Juan Perata
@jperata
Hi @dcoli , I saw your DM with the attachment, I will create the issue and keep you posted.
Colin MacAllister
@dcoli
Thanks!
ash-at-github
@ash-at-github
We upgraded to the latest bespoken-tools version, we are seeing some html issues in the report. They are not rendered correctly. The icon before every command shows up broken image with 32*32 written below it. It's not a major functional roadblock but the report has become unsharable with others as the repeated broken icon image has made it jarring to look at it. Is there any known workaround for this?
Juan Perata
@jperata
could you share a screenshot of this with us? Dragging to the window works to upload files
ash-at-github
@ash-at-github
Screenshot 2019-04-15 15.04.12.png
ok, i just uploaded not sure if it's visible to you
Juan Perata
@jperata
yes, it is, i will validate what is causing it
ash-at-github
@ash-at-github
Thank you @jperata
ash-at-github
@ash-at-github
@jperata Had another related question, when we send HTML file that's generated in "test_output/report" via email, the html is not at all rendered properly. Guessing that's because it's styling etc separated via CSS, what can we do if we want to email the html report so that it's rendered correctly on client's machine?
ash-at-github
@ash-at-github
tried embedding the html in email body via Jenkins editable email notification plugin, however, email content is mainly json, even after setting the content type to HTML as mentioned in documents @jperata
Juan Perata
@jperata

@ash-at-github regarding embedding the HTML, emails usually need to have html inlined in order for them to work correctly, using a html inliner like this one can help, and it also provide options to do this process programatically

By the way we were not able to reproduce the issue with the broken image that you reported, could you zip file the complete report folder and sent it to us, you can do it via DM if you want to keep it private.

ash-at-github
@ash-at-github
Thanks @jperata will take a look, also will DM you with more details
ng-username
@ng-username
Hey Bespoken team. I've got a custom skill written in Java that I'm trying to write unit tests for, referring to http://docs.bespoken.io/en/latest/tutorials/tutorial_alexa_unit_testing/ for documentation. The documentation states "though this example is written in Javascript, the emulator can be used to test non-Javascript-based skills" but I cannot find any documentation regarding how to test non-js skills. Could you point me in the right direction?
Juan Perata
@jperata
Hi @danielvu95 , if you are using virtual-alexa as a library the usual methods will apply. Setting it up in the console where you are running node or in the IDE.
danielvu95
@danielvu95
thanks the response Juan
danielvu95
@danielvu95
@jperata Can you help me out with the intend method?
I tried using utter for my custom intent but that didn't seem to work
my custom intent catches all the commands issued from the user
when using utter, I get unable to match utterance
Juan Perata
@jperata
Hi @danielvu95 , we use utter to simplify the tests, but it is not real Alexa, so we only apply regular expressions to match what you have in your interaction model. If your custom intent catches everything it's probable that we won't be able to apply the correct intent.
In order to use intend to test, you apply the intend and the slot values as parameters. Here is an example line
 const response = await virtualAlexa.intend("SlottedIntent", { SlotName: "Value" });
you can also use the request builder, and provide what you want to the request and finally send it:
https://github.com/bespoken/virtual-alexa#using-the-request-builder-new
danielvu95
@danielvu95
Thanks Juan that worked!
danielvu95
@danielvu95
Does anyone know if theres a way to create the apiAccessToken that is normally generated in the context block of a skill request? Certain Alexa apis such as getting timezone and and etc require this as a header
John Kelvie
@jkelvie
Hi @danielvu95 - there is no way to create a valid token locally
We recommend using nock or other mocking tools to fake these requests - we already do this with the address API - an example is here
You can configure mocks for other services in a similar way:
danielvu95
@danielvu95
Thanks for the info John, I'll take a look
ash-at-github
@ash-at-github
Hi, it looks like our virtual-alexa based scripts suddenly started failing with this error for every test: "
Error
Invalid response: 400 Message:
Timestamp:
2019-05-02T14:55:46.762". Nothing has been changed at our end, we also tried getting the latest version but that did not help either
Juan Perata
@jperata
Hi @ash-at-github , virtual-alexa only use networking to connect to your webhook endpoint. If it's failing with that for every request it's likely that your webhook is sending that for any reason. It can go from a self-signed certificate (node doesn't like to grab request from those unless you set an environment variable for security), or you may have added the Alexa validation to ensure the requests comes from Alexa.
to had a better understanding, you can copy a request generated with virtual-alexa (you can use filter functionality for that). And sent it directly through postman. It's likely you will get the same 400 error
ash-at-github
@ash-at-github
@jperata it runs fine locally (where we use 2.3.7 version of bespoken-tools) however only fails on server (which uses 2.1.22 version). Is that version no longer supported?
Juan Perata
@jperata
@ash-at-github I'm going to try out that version and see if i can reproduce the issue.
ash-at-github
@ash-at-github
ok, thanks @jperata
Meanwhile, how do we get request that virtual alexa sends? Is it via trace=true? You mentioned filter but could not find anything relevant to extract request using that https://read.bespoken.io/end-to-end/guide/#filtering-during-test Note that we use skillURL instead of handler as we use Java webservice
ash-at-github
@ash-at-github
@jperata Have some updates. Tried with 2.3.7 on server and it gave the same error there as well. So, you need not look into the version issue. When it runs on server, it fails with this error: "java.lang.SecurityException: Request with id amzn1.echo-external.request.ad2b1d6f-6158-47a6-bbfc-e361bb216815 and timestamp 1556915707000 failed timestamp validation with a delta of 35889
at com.amazon.ask.servlet.verifiers.SkillRequestTimestampVerifier.verify(SkillRequestTimestampVerifier.java:79) ~[ask-sdk-servlet-support-2.9.2.jar!/:?]" Basically timestamp validations are failing. Any idea about this?
ash-at-github
@ash-at-github
Even if we set to max timestamp validation value (150 seconds) per the documentation here: https://developer.amazon.com/docs/custom-skills/host-a-custom-skill-as-a-web-service.html#timestamp, looks like it will still fail? Assuming that the delta is 358 seconds per the error message above?
Juan Perata
@jperata
This is the request validation to verify the request is a proper request sent by Amazon. Our emulator can not generate a request that pass that validation, in order to continue your tests
you must either create an exception for things that comes from our test tools or test against a webhook that doesn't have that validation enabled
ash-at-github
@ash-at-github
We set the timestamp validation value to max and it worked. I just wonder why this issue would only happen on server when locally the tests run fine
Juan Perata
@jperata
are you sure that the validation is enabled on both?, doesn't make sense to have it enabled locally
ash-at-github
@ash-at-github
it's the same backend running on both places. Moreover this validation is done by Amazon SDK code and not part of our code
xcobbler
@xcobbler
Hello, I have a question about virtual-alexa. how can I do an Intent confirmation with this library on an intent that doesn't require confirmation (and hence doesn't have a dialog with the same name as the intent)? If I manually add a dialog to the model, the test framework does work, but through manual testing this breaks upsells.
Juan Perata
@jperata
Hi @xcobbler could you share how your intent look with and without the dialog in the model to be able to understand your issue a little better?
ash-at-github
@ash-at-github
We again started seeing "Invalid response: 400 Message: " for our virtual alexa scripts executed via Jenkins. We saw this before and we increased the timestamp validation limit to 150 seconds which is the max value suggested by Amazon (https://developer.amazon.com/docs/custom-skills/host-a-custom-skill-as-a-web-service.html#timestamp), which resolved that issue but it again started happening. Any suggestions?
Juan Perata
@jperata
Hi @ash-at-github , have you had any recent change in your jenkins environment or development server. A likely culprit, if it was working before, is that the timestamp has issues due the development server and jenkins being in different machines with their clocks on different times.
ash-at-github
@ash-at-github
no changes as far as we are aware, is there anyway to debug this on virtual alexa end?