Illegal character in query when doing a conditional GET with multiple parameters - karate

While using Karate DSL version 0.9.2, I can send a conditional get with multiple parameters with no problem.
Something like 'Given path 'get?condition=payment_plan='B' and equal_paymnt_flg='D''', will work perfectly fine.
However on version 1.0.1 the same will produce an error, Illegal character in query at index 84, and the call will fail.
Any ideas why?

Please try 1.1.0.RC4 and if there is still a problem it can be a bug we need to fix.
More details here: https://github.com/intuit/karate/issues/1561

Related

waitForText is not working to locate text but waitUntil works

I am getting ready to pull my hair out. Not sure what I am doing wrong but here is the issue:
I have a textbox for which I am verifying an error message for. The html looks something like this:
<span class="text-field-error" data-valmsg-for="Name" data-valmsg-replace="true"><span id="Name-error" class="">There are invalid characters being used.</span></span>
My xpath to locate the error message looks something like this:
//span[#id='Name-error']
I am using the following command to verify the error message:
driver.waitForText('//span[#id='Name-error']','There are invalid characters being used.')
This verification fails.
However, when I try the following command, it works fine.
driver.waitUntil('//span[#id='Name-error']',"_.innerText.includes('There are invalid characters being used.')")
I have verified there is no hidden whitespace in the first instance. I have to use waitForText vs waitUntil to keep up with coding standards within my project.
Please advise, Peter.
I have no idea, maybe it is a bug. If you can provide a way to replicate, that will help the community: https://github.com/karatelabs/karate/tree/develop/examples/ui-test
Meanwhile see if this works:
waitForText('body', 'There are invalid characters being used')
I can't help noticing that you are not using double-quotes when needed.
waitForText("//span[#id='Name-error']", 'There are invalid characters being used')

Kotlin BuildType 'XYZ': id 'XYZ' is already used in BuildType(uuid='', id='XYZ', name='Deploy to envr') error

I was trying to refactor my Kotlin file that contains the configuration for a TeamCity pipeline. However, I keep getting the following error:
BuildType 'KotlinExperiments_DeployToEnvironment': id 'KotlinExperiments_DeployToEnvironment' is already used in BuildType(uuid='', id='KotlinExperiments_DeployToEnvironment', name='Deploy to test')
I tried to dynamically assign an ID, but that doesn't seem to work. Here are the links to the relevant files:
.teamcity/settings.kts
.teamcity/KotlinExperiments.kt
.teamcity/_buildTypes/DeployToEnvironment.kt
What am I missing?
It appears that there was an extra } in this line which is an invalid character for an ID. TeamCity didn't really provide an accurate error. After deleting the whole and recreating it again, TeamCity provided a much better error which led me to this finding.

'DateTime' has no len() occurred, with Odoo and Zapier integration

I am trying to integrate Zapier and Odoo. For the most part all integrations work, however when I attempt to use Stock Move module I am getting the error,
Fault (code object of type 'DateTime' has no len()) occurred. Message: Traceback (most recent call last):
Zapier Form
I have a suspicion it is the way I am entering the date. I have tried multiple times, with different format but with no luck.
Check-in your code where you try to search the result Like,
result = self.env['obj.obj'].search([('date_field', '=', now.date())]) someting like So try to convert into str formation str(now.date())
The reported issue only occurs where the proper value is not stored [for that check the python date type formation use and applied with same.]or either you can try to search with these things.
Hope this may help you.
Thanks
Turns out it was a bug in zapier. Confirmed with their team, no known solution at this time.

Execute SQL Server Pass-Through Query From Access VBA

I have an UPDATE pass through query saved in Access 2007. When I double-click on the pass through query it runs successfully. How can I get this query to run from VBA? I'd like it to run when my "splash screen" loads.
I'm currently using the following code:
CurrentDb.Execute "Q_UPDATE_PASSTHROUGH", dbSQLPassThrough
But I get the following message:
The pass-through query contains all the connection information and I've confirmed the SQL syntax is correct by running it multiple times, so not sure what I'm missing in my VBA call.
Use the QueryDef's Execute method:
CurrentDb.QueryDefs("Q_UPDATE_PASSTHROUGH").Execute
I don't think you should need to explicitly include the dbSQLPassThrough option here, but you can try like this if you want it:
CurrentDb.QueryDefs("Q_UPDATE_PASSTHROUGH").Execute dbSQLPassThrough
I recently ran into the same problem. While the above mentioned Execute method is working for most cases, some people (me included) experiencing a Run-time error '3001': Invalid Argument when using the parameter dbSQLPassThrough. This was also addressed in the answer above me and happens even in the simplest SQL-statements.
For those who are having the same problem, I recommend using the OpenQuery method as alternative.
A valid substitution for the following code
CurrentDb.QueryDefs("Q_UPDATE_PASSTHROUGH").Execute
would be
DoCmd.OpenQuery "Q_UPDATE_PASSTHROUGH"
I know this thread is 4 years old, however, searching for a solution for the not working Execute method on Google brings you directly to this thread which is why I thought it would be useful to add an alternative solution which solved this problem for me.
I confirm that the QueryDef's Execute method is the recommended way to achieve your goal.
CurrentDb.QueryDefs("Q_UPDATE_PASSTHROUGH").Execute
However, I can point out that in a similar case with Access 2010, using dbSQLPassThrough for the Options parameter caused a Run-time error '3001': Invalid Argument.

Why escaping quote doesn't work with my webservice?

I access to my webservice like that:
http://localhost/SuiPService/SuiPDataService.svc/GetShowCodeFiltered?&showName='auto'
It works fine, but when I try:
http://localhost/SuiPService/SuiPDataService.svc/GetShowCodeFiltered?&showName='auto''
it failed, ok this I understand, but if I encode the url like that:
http://localhost/SuiPService/SuiPDataService.svc/GetShowCodeFiltered?&showName='auto%27'
I get the error Bad Request - Error in query syntax. too
What is the solution?
The reason it's failing is because %27 is equal to '.
Everything is encoded before being sent to the web server, even if the URL box doesn't say so.
This will become hard to maintain and possibly confuse your users. I'd change it so you aren't padding the variable with ' and that way you can use http://localhost/SuiPService/SuiPDataService.svc/GetShowCodeFiltered?&showName=auto' if you need to have a ' after it.
Also, if you need the '' around auto. Consider doing this on the server side.
It looks like your using this to build an SQL query...
See here for the reason PHP deprecated it for that exact reason: http://en.wikipedia.org/wiki/Magic_quotes
Hope this helps,
Jeffrey Kevin Pry