2025-11-20 IntegrationTest: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
= Type paramiter = | =Events= | ||
==Type paramiter== | |||
===Normal case=== | ===Normal case=== | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
| Line 87: | Line 88: | ||
"value": "Not found schema of {serviceTag:TestGraphHandler, objectType:notFoundObjType}" | "value": "Not found schema of {serviceTag:TestGraphHandler, objectType:notFoundObjType}" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Can not test case random nubber or identifer is random. | Can not test case random nubber or identifer is random. | ||
But request mush be send param use setting | But request mush be send param use setting. | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
testValueMatches:false | testValueMatches:false | ||
| Line 99: | Line 100: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=RefreshSeedData= | =Tests= | ||
==RefreshSeedData== | |||
Seed data for test case, can generate seed data by use this setting. | |||
Process refresh seed data first step delete all seed data after that create all seed data. | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
[ | [ | ||
| Line 126: | Line 130: | ||
: This tag save file in floder seedData_config | : This tag save file in floder seedData_config | ||
=GenerateSeedData= | |||
==GenerateSeedData== | |||
: | *Integrationtest must be delete identifier every time before test. | ||
*Set 'generatedSeedData' in file tests.json case by case of stage eg: stages[0] create identifier is randomOnCreate will set 'generatedSeedData' and stages[1] create relationship is randomOnCreate(It is usually random, except in the case of relationship version) set generatedSeedData this stages[1]. | |||
*How to delete case identifier rendomOnCreate?: set in stage use setting generateSeedData "randomOnCreateIdentifier" | |||
: 3 case | |||
:: 1.randomOnCreateIdentifier | |||
:: 2.notRandomOnIdentifier | |||
:: 3.relationships | |||
===randomOnCreateIdentifier=== | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
[ | [ | ||
| Line 173: | Line 178: | ||
] | ] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===notRandomOnIdentifier=== | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
[ | [ | ||
| Line 215: | Line 221: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===relationships=== | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
[ | [ | ||
| Line 253: | Line 259: | ||
} | } | ||
] | ] | ||
</syntaxhighlight> | |||
Revision as of 02:07, 21 November 2025
Events
Type paramiter
Normal case
object: {
forStageMatching: true,
properties: {
name:{
forStageMatching: true,
value:"Tom"
}
}
},
array: {
forStageMatching: true,
useIsEqual: true,
eventValue: [
{
"relTypeAndDirection": {
"relType": {
"serviceTag": "maxxCart2",
"relationshipTag": "hasCartOrder"
},
"relationshipDirection": "from"
},
"targetObjects": [
{
"objType": {
"serviceTag": "maxxCart2",
"objectType": "cartOrder"
}
}
]
}
]
},
number: {
forStageMatching: true,
value: 1111
},
string: {
forStageMatching: true,
value: "hi"
},
boolean: {
forStageMatching: true,
value: true
}
- forStageMatching
forStageMatching: true
- set true for check match value,It is not necessary to set every value
- use in test importent paramiter
- set true for check match value,It is not necessary to set every value
- testValueMatches
testValueMatches:false
- setting paramiter require on create but can not test random value eg: identifier or timeStamp or uuid
Empty
EmptyString:{
value:""
},
EmptyArray:{
forStageMatching: true,
useIsEqual: true,
eventValue: []
},
EmptyObject:{
forStageMatching: true,
value:{}
}
Error
can test noRetryError
"errorMessage": {
forStageMatching: true,
"value": "Not found schema of {serviceTag:TestGraphHandler, objectType:notFoundObjType}"
}
Can not test case random nubber or identifer is random. But request mush be send param use setting.
testValueMatches:false
or set
forStageMatching:false
Tests
RefreshSeedData
Seed data for test case, can generate seed data by use this setting. Process refresh seed data first step delete all seed data after that create all seed data.
[
{
"integrationTestTag": "Test_mackTestLogic_refreceSeedData_DeleteIdentifier",
"productionSafe": false,
"errorIfStageUnderfined": false,
"errorIfInvokeUnderfined": false,
"dynamoDBSeedDataTags": [
"seedDynamodb_abc_ver2"
],
"graphSeedDataTags": [
"seedData_testTag_GG"
],
"stages": [
//...
]
}
]
- dynamoDBSeedDataTags
- If set tag in this setting integrationtest is generate seed data. in storage resource dynammodb.
- graphSeedDataTags
- If set tag in this setting integrationtest is generate seed data. in storage resource graphHanler.
- This tag save file in floder seedData_config
GenerateSeedData
- Integrationtest must be delete identifier every time before test.
- Set 'generatedSeedData' in file tests.json case by case of stage eg: stages[0] create identifier is randomOnCreate will set 'generatedSeedData' and stages[1] create relationship is randomOnCreate(It is usually random, except in the case of relationship version) set generatedSeedData this stages[1].
- How to delete case identifier rendomOnCreate?: set in stage use setting generateSeedData "randomOnCreateIdentifier"
- 3 case
- 1.randomOnCreateIdentifier
- 2.notRandomOnIdentifier
- 3.relationships
randomOnCreateIdentifier
[
{
"integrationTestTag": "Test_MLocation_CreateHdrSqs__case_NodeVersionData_Jaya",
"productionSafe": false,
"errorIfStageUnderfined": false,
"errorIfInvokeUnderfined": false,
"dynamoDBSeedDataTags": [
"seedDynamodb_abc_ver2"
],
"graphSeedDataTags": [
"seedData_testTag_GG"
],
"stages": [
{
"initialStage": true,
"inputEventTag": "MLocation_CreateHdrSqs__case_NodeVersionData_Jaya",
"serviceTag": "MLocations",
"resourceType": "Lambda",
"resourceName": "CreateHdrSqs",
"snsServiceName": "MLocations",
"snsTopic": "Create_In",
"generatedSeedData": {
"randomOnCreateIdentifier": [
{
"objType": {
"serviceTag": "MLocations",
"objectType": "Member"
},
"identifierValue": "Jaya-member-001"
}
]
}
}
]
}
]
notRandomOnIdentifier
[
{
"integrationTestTag": "Test_MLocation_CreateHdrSqs__case_NodeVersionData_Jaya",
"productionSafe": false,
"errorIfStageUnderfined": false,
"errorIfInvokeUnderfined": false,
"dynamoDBSeedDataTags": [
"seedDynamodb_abc_ver2"
],
"graphSeedDataTags": [
"seedData_testTag_GG"
],
"stages": [
{
"initialStage": true,
"inputEventTag": "MLocation_CreateHdrSqs__case_NodeVersionData_Jaya",
"serviceTag": "MLocations",
"resourceType": "Lambda",
"resourceName": "CreateHdrSqs",
"snsServiceName": "MLocations",
"snsTopic": "Create_In",
"generatedSeedData": {
"notRandomOnIdentifier": [
{
"objType": {
"serviceTag": "gggg",
"objectType": "ssssss"
},
"identifiers": {
"topId": "123456"
}
}
]
}
}
]
}
]
relationships
[
{
"integrationTestTag": "Test_MLocation_CreateHdrSqs__case_NodeVersionData_Jaya",
"productionSafe": false,
"errorIfStageUnderfined": false,
"errorIfInvokeUnderfined": false,
"dynamoDBSeedDataTags": [
"seedDynamodb_abc_ver2"
],
"graphSeedDataTags": [
"seedData_testTag_GG"
],
"stages": [
{
"initialStage": true,
"inputEventTag": "MLocation_CreateHdrSqs__case_NodeVersionData_Jaya",
"serviceTag": "MLocations",
"resourceType": "Lambda",
"resourceName": "CreateHdrSqs",
"snsServiceName": "MLocations",
"snsTopic": "Create_In",
"generatedSeedData": {
"relationships": [
{
"relType": {
"serviceTag": "PaymentMethodGeneric",
"relationshipTag": "disabledPaymentMethodGenericPropertyValue"
},
"relId": "f4f73de7-647c-4b3b-8043-87cc002f361a"
}
]
}
}
]
}
]