Workaround for saving / editing a VSTS test case - azure-devops

I have an issue with VSTS manual test cases. When I try to edit one, I got an error message as follows:
An element with the same key already exists in the dictionary
e</n.prototype.add#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:3:2142
ki</n.prototype.onAddParameterInSteps#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-view-1316919717-vxhr2NM2m2AZNsRLuD0JDHQ==:36:46195
bi</n.prototype.onAddParameterInSteps#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-view-1316919717-vxhr2NM2m2AZNsRLuD0JDHQ==:36:40049
tf</t.prototype.onAddParameterInSteps#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-view-1316919717-vxhr2NM2m2AZNsRLuD0JDHQ==:36:62452
bi</n.prototype._updateParametersRefCountOnAddingStep/<#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-view-1316919717-vxhr2NM2m2AZNsRLuD0JDHQ==:36:39659
.each#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-basejs-1370396394-vpQOf5w8kp8_6mpJi9ABtBQ==:15:12291
bi</n.prototype._updateParametersRefCountOnAddingStep#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-view-1316919717-vxhr2NM2m2AZNsRLuD0JDHQ==:36:39614
bi</n.prototype._calculateParameterRefCountsFromSteps#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-view-1316919717-vxhr2NM2m2AZNsRLuD0JDHQ==:36:40691
bi</n.prototype.setParameters#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-view-1316919717-vxhr2NM2m2AZNsRLuD0JDHQ==:36:35794
yt</t.prototype.readParameters#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-async135478241-v-UPjjKxU6f1kHHOWlhqz1Q==:14:58274
yt</t.prototype._onStepsLoaded#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-async135478241-v-UPjjKxU6f1kHHOWlhqz1Q==:14:72430
o/<#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-common-1174969321-vP7TYoPIwwgcmodAk6tzLZw==:53:215
u#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-async135478241-v-UPjjKxU6f1kHHOWlhqz1Q==:14:81038
yt</t.prototype._fetch#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-async135478241-v-UPjjKxU6f1kHHOWlhqz1Q==:14:81408
yt</t.prototype.invalidate#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-async135478241-v-UPjjKxU6f1kHHOWlhqz1Q==:14:57579
c</n.prototype._onFieldChanged#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-async636480634-vHvWOSM8E8rCxBa3bYo2R7w==:149:2040
o/<#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-common-1174969321-vP7TYoPIwwgcmodAk6tzLZw==:53:215
u#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-common-1174969321-vP7TYoPIwwgcmodAk6tzLZw==:94:177
o</n.prototype.invokeHandlers#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-common-1174969321-vP7TYoPIwwgcmodAk6tzLZw==:94:526
tr</n.prototype.fireEvent#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:100720
tr</n.prototype.fireFieldChange#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:103810
tr</n.prototype.evaluateFields#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:112953
tr</n.prototype.evaluate#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:112662
tr</n.prototype._takeUpdateResult#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:110218
vi</t.prototype._beginSaveWorkItemsInternal/</</<#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:74066
vi</t.prototype.beginGetWorkItemTypeExtensions#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:69585
vi</t.prototype._beginSaveWorkItemsInternal/</<#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:74001
.each#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-basejs-1370396394-vpQOf5w8kp8_6mpJi9ABtBQ==:15:12291
vi</t.prototype._beginSaveWorkItemsInternal/<#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-area-1319062352-vWRYJ179SKTshLwEQt_Tl9g==:35:73876
rt#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-common-1174969321-vP7TYoPIwwgcmodAk6tzLZw==:59:938
l/<#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-common-1174969321-vP7TYoPIwwgcmodAk6tzLZw==:59:1252
i.Callbacks/l#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-basejs-1370396394-vpQOf5w8kp8_6mpJi9ABtBQ==:15:35816
i.Callbacks/s.fireWith#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-basejs-1370396394-vpQOf5w8kp8_6mpJi9ABtBQ==:15:36641
w#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-basejs-1370396394-vpQOf5w8kp8_6mpJi9ABtBQ==:15:73448
.send/t/<#https://xxx.visualstudio.com/_public/_Bundling/Content?bundle=vss-bundle-basejs-1370396394-vpQOf5w8kp8_6mpJi9ABtBQ==:15:79367
Session Id: 73288d72-580f-42fb-9aeb-f5cadb6b3bc5
I only have this issue if a test step contains parameters. After refreshing the page and reopening the test case, the color code is black and it doesn't display the Save button. Also, the dropdown of the ... is empty.
Existing tests are fine, running them is also possible. Working with bugs, user stories and tasks is fine.
Screenshots can be found here
Is there a way to workaround this?

This is caused by the parameter name "#length", remove it or rename it to others like "#length1" would works.
This seems to be a bug with VSTS, I have help you created a feedback on MS Connect Page, refer to this link for details: "An element with the same key already exists in the dictionary" error occurs when save a test case contains a parameter named as "length".

Related

MongoDB Realm: environment value exists but is undefined inside Realm Function

I am referencing an environment value from a Realm function as instructed here: context.values.get("appTwilioNumber")
I confirmed appTwilioNumber exists in our project: and that our project is assigned an environment:
Yet, when I call console.log('twilioNumberForEnv:', context.values.get("appTwilioNumber")); in our Realm function, I get twilioNumberForEnv: undefined.
EDIT 1: I have more info now--I logged out and logged back in (in case of multi-user sync issues), then exported my app from the Realm UI and the values folder is empty. Not sure if that is a separate bug, but updating in case this info is useful.
EDIT 2: the environment values are stored under environment, not under values. Edit 1 was a red herring. I do see appTwilioNumber in the exported app, but it still returns undefined in the Realm functions.
Wow... Mongo's documentation might be off.
In another function, I found this: context.environment.values.anotherEnvValue instead of context.values.get("appTwilioNumber") . So I updated my code to context.environment.values.appTwilioNumber, and it worked.
I did a CMD-f on both https://docs.mongodb.com/realm/values-and-secrets/define-environment-values/ and https://docs.mongodb.com/realm/values-and-secrets/access-a-value/ for ".environment", and it isn't on either page.
I'll follow up with Mongo, but please use context.environment.values.YOURENVVALUE instead of context.values.get("YOURENVVALUE") if you encounter this issue.

Unable to run experiment on Azure ML Studio after copying from different workspace

My simple experiment reads from an Azure Storage Table, Selects a few columns and writes to another Azure Storage Table. This experiment runs fine on the Workspace (Let's call it workspace1).
Now I need to move this experiment as is to another workspace(Call it WorkSpace2) using Powershell and need to be able to run the experiment.
I am currently using this Library - https://github.com/hning86/azuremlps
Problem :
When I Copy the experiment using 'Copy-AmlExperiment' from WorkSpace 1 to WorkSpace 2, the experiment and all it's properties get copied except the Azure Table Account Key.
Now, this experiment runs fine if I manually enter the account Key for the Import/Export Modules on studio.azureml.net
But I am unable to perform this via powershell. If I Export(Export-AmlExperimentGraph) the copied experiment from WorkSpace2 as a JSON and insert the AccountKey into the JSON file and Import(Import-AmlExperiment) it into WorkSpace 2. The experiment fails to run.
On PowerShell I get an "Internal Server Error : 500".
While running on studio.azureml.net, I get the notification as "Your experiment cannot be run because it has been updated in another session. Please re-open this experiment to see the latest version."
Is there anyway to move an experiment with external dependencies to another workspace and run it?
Edit : I think the problem is something to do with how the experiment handles the AccountKey. When I enter it manually, it's converted into a JSON array comprising of RecordKey and IndexInRecord. But when I upload the JSON experiment with the accountKey, it continues to remain the same and does not get resolved into RecordKey and IndexInRecord.
For me publishing the experiment as a private experiment for the cortana gallery is one of the most useful options. Only the people with the link can see and add the experiment for the gallery. On the below link I've explained the steps I followed.
https://naadispeaks.wordpress.com/2017/08/14/copying-migrating-azureml-experiments/
When the experiment is copied, the pwd is wiped for security reasons. If you want to programmatically inject it back, you have to set another metadata field to signal that this is a plain-text password, not an encrypted password that you are setting. If you export the experiment in JSON format, you can easily figure this out.
I think I found the issue why you are unable to export the credentials back.
Export the JSON graph into your local disk, then update whatever parameter has to be updated.
Also, you will notice that the credentials are stored as 'Placeholders' instead of 'Literals'. Hence it makes sense to change them to Literals instead of placeholders.
This you can do by traversing through the JSON to find the relevant parameters you need to update.
Here is a brief illustration.
Changing the Placeholder to a Literal:

Fully qualified name with dollar sign in SSDT project

I was working on a tsql project, and I have noticed that the existing code used a syntax that I have not seen before. They have put a dollar sign in front of the database name for fully qualified address.
Here is one example :
SELECT c.AccountCode, FROM **[$(SmartAdmin)]**.dbo.Customers c
If I rename the database name as SmartAdmin.dbo.Customers, Visual Studio throws error says "contains an unresolved reference to an object".
It appears to be a Visual Studio related thing, can anyone explain what is this and
whether I can remove it.
Please see the attached screenshots, the last one comes from project solution file.
The [$(SmartAdmin)] syntax is used in an SSDT project to reference objects in other databases. To be precise, it is SQLCMD syntax.
If you have a database reference to SmartAdmin, and if the reference is set up so that [$(SmartAdmin)] properly references it, then that is not the problem. It looks like the problem is the other two references to [SmartAdmin]. Change them to look like [$(SmartAdmin)].dbo.whatever.
Example of why these references are useful: I just edited a stored procedure I had in SSDT to misspell a column name. Within seconds, the column name was underlined in red. I then deleted the database reference the column name depended on. The red underline went away. I added the database reference back, and the column was once again underlined in red. I corrected the column name, and the red underline went away.
Without the database reference, I would have had to wait until the stored procedure was deployed, or possibly executed, to see the error. With the database reference, I found out about the problem in the editor. Just like code.
It appears to me that your database is actually called $(SmartAdmin)
As the error suggests "contains an unresolved reference to an object". which means when you change the database name to SmartAdmin, it cannot find a database with this name on server.
If you want to change the database name you will need to execute the following statement and then you will be able to use that name in your statements.
USE master;
GO
EXEC sp_renamedb '$(SmartAdmin)', 'SmartAdmin';
GO
USE SmartAdmin; --<-- Now you will be able to connect to this database
GO -- without the dollar ($) sign.
This issue relates to Database Project External Database References. When you add another solution to a database project, you can specify the "Database Variable Name", in my case, it is $(SmartAdmin).
Please see this link for more information.
Thanks everybody for answering my question.

Obtaining transition properties in TALES expression

I've created a custom workflow in Plone, using Products.DCWorkflow. I've set the transition descriptions to a more verbose description of what just occurred and am trying to display them in a status message. I thought I would be able to do this using workflow variables, but I'm hitting what appears to be a permissions issue and don't understand why.
I've based my workflow on simple_publication_workflow, which provides a set of variables. I tried copying the approach used for the action variable, which has a default expression of transition/getId|nothing. I created an action_description variable, and added transition/description|nothing. With this, I get a None value returned. Without the |nothing option, the page redirects to https, indicating the user doesn't have the permissions required for a current action.
I've put a breakpoint into createExprContext in Products/DCWorkflow/Expression.py, and as the same user I can see the information I want in sci.transition.description. So I tried replacing the previous default expression with python:transition.description, but I get the same apparent permission problem.
I'm wondering why this is happening? Why is transition/getId a valid expression for a workflow variable, while transition/description is not?

Sugar CRM SOAP API - Problems with Auto Incrementing Key and set_entry

I've tried the SugarCRM forums for this problem as well, but I was wondering if anyone here has run into a similar issue and would be willing to share the solution.
We are working with the SOAP API for Sugar CRM via the Sugar On Demand system and their appears to be a problem - which at the moment looks very much like a bug.
The Module we trying to work with is the case module. We are running the set_entry action on the case module. It worked the first time we did this, but now it refuses to allow us to enter any more modules. I've checked the log files and made sure that we are submitting anything in the case_number field to over ride this, but whenever we try to add a new case we get the following error showing up in the log:
Query Failed: INSERT into cases set id='bb53030e-0f2f-5787-f403-4dde57cde36e', name='New RMA Request Test', date_entered='2011-05-26 13:37:15', date_modified='2011-05-26 13:37:15', modified_user_id='b1256ced-011d-7c1a-e1f3-4d4004ea4e9a', created_by='b1256ced-011d-7c1a-e1f3-4d4004ea4e9a', description='fjdlkas', deleted='0', assigned_user_id=null, team_id=null, team_set_id='ded0fbb0-c5dc-74ee-0622-4d22eb653a80', type=null, status=null, priority=null, resolution=null, system_id=1, work_log=null, account_id=null: MySQL error 1062: Duplicate entry '2147483647' for key 2
This is a bit odd for a few reasons:
I've confirmed that the corresponding key is auto-incrementing.
I am not submitting that number anywhere.
The next auto-increment value when I check the setting in the Studio is actually 2147483648.
Can someone explain what I need to do with the SOAP API to stop it from overriding the auto-increment value on my table?
Edit: I get the same error if I try to add a case via the interface, so I suspect this could be a problem with the CRM configuration itself rather than a SOAP related issue like I originally thought.
I would try to increase the size of the case_number field from an int(11) to something bigger and see if that fixes the issue.