pact-jvm = 3.3.1
pact-spec-version = 3.0.0
initial SO post
unable to debug as failures only happen on jenkins
Test logs:
Error Message
0 - $.body.2 -> Expected name='FXUHHqWrZZcodhHBmeLf' but was missing
Stacktrace
java.lang.AssertionError:
0 - $.body.2 -> Expected name='FXUHHqWrZZcodhHBmeLf' but was missing
at au.com.dius.pact.provider.junit.target.HttpTarget.getAssertionError(HttpTarget.java:224)
at au.com.dius.pact.provider.junit.target.HttpTarget.testInteraction(HttpTarget.java:132)
at au.com.dius.pact.provider.junit.InteractionRunner$2.evaluate(InteractionRunner.java:180)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at au.com.dius.pact.provider.junit.InteractionRunner.run(InteractionRunner.java:140)
at au.com.dius.pact.provider.junit.PactRunner.runChild(PactRunner.java:102)
at au.com.dius.pact.provider.junit.PactRunner.runChild(PactRunner.java:52)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Standard Output
Verifying a pact between idm-client and idm
Given the 'zero' client exists
a request to get all clients
Client Id:5139950a-ecc8-40e3-aa31-cf79fe1bb72a
Client Secret:secret
https-jsse-nio-8099-exec-4 18 Jan 2017 15:25:16 INFO c.c.m.c.s.l.MobiusRequestResponseLoggingFilter - POST request start:uri=/mobius/v1/sso/oauth/token
https-jsse-nio-8099-exec-4 18 Jan 2017 15:25:16 INFO c.c.m.c.s.l.MobiusRequestResponseLoggingFilter - Request body: grant_type=client_credentials
https-jsse-nio-8099-exec-4 18 Jan 2017 15:25:16 INFO c.c.m.c.s.l.MobiusRequestResponseLoggingFilter - POST request end:uri=/mobius/v1/sso/oauth/token (200)
https-jsse-nio-8099-exec-10 18 Jan 2017 15:25:16 INFO c.c.m.c.s.l.MobiusRequestResponseLoggingFilter - GET request start:uri=/mobius/v1/idm/client
https-jsse-nio-8099-exec-10 18 Jan 2017 15:25:16 INFO c.c.m.c.s.l.MobiusRequestResponseLoggingFilter - GET request end:uri=/mobius/v1/idm/client (200)
Metadata-reload 18 Jan 2017 15:25:17 INFO c.c.m.i.d.p.CassandraMetadataProvider - fetching metadata for entityId zero
Metadata-reload 18 Jan 2017 15:25:17 INFO o.o.s.m.p.AbstractReloadingMetadataProvider - New metadata succesfully loaded for 'zero'
Metadata-reload 18 Jan 2017 15:25:17 INFO o.o.s.m.p.AbstractReloadingMetadataProvider - Next refresh cycle for metadata provider 'zero' will occur on '2017-01-18T18:25:17.292Z' ('2017-01-18T18:25:17.292Z' local time)
Metadata-reload 18 Jan 2017 15:25:17 INFO c.c.m.i.d.p.CassandraMetadataProvider - fetching metadata for entityId SJRfGeRvgsSKAlC
Metadata-reload 18 Jan 2017 15:25:17 INFO o.o.s.m.p.AbstractReloadingMetadataProvider - New metadata succesfully loaded for 'SJRfGeRvgsSKAlC'
Metadata-reload 18 Jan 2017 15:25:17 INFO o.o.s.m.p.AbstractReloadingMetadataProvider - Next refresh cycle for metadata provider 'SJRfGeRvgsSKAlC' will occur on '2017-01-18T18:25:17.296Z' ('2017-01-18T18:25:17.296Z' local time)
returns a response which
has status code 200 (OK)
includes headers
"Content-Type" with value "application/json; charset=UTF-8" (OK)
has a matching body (FAILED)
Failures:
0) a request to get all clients returns a response which has a matching body
$.body.2 -> Expected name='FXUHHqWrZZcodhHBmeLf' but was missing
Diff:
@2
{
- "accessTokenValiditySeconds": 42721462,
+ "accessTokenValiditySeconds": 2047531805,
"allowedScopes": [
@4
"allowedScopes": [
- "JnTfAlnHKVSDzoWnUqZv"
+ "CbQKtUHZKpbXgYM",
+ "HWQEabGJImGSEkp",
+ "LaIhYNueeqcDQfm",
+ "SCxIXIFATJEIvit",
+ "SSqGVJiwXycnHZO",
+ "iPpENLhFTbXGpTt",
+ "qmKXLMsEdaXdyvn",
+ "uJuBiZBGiToWRYK",
+ "xEtffZzKEQdXNBv",
+ "ySWoarvfBHBAOmA"
],
@7
"autoApprove": true,
+ "clientSecret": "$2a$10$6W5venYTPJvN56SoCVISzOAS9NRgnvkQLWI6XKUTgpHD6Q75d9BRu",
+ "contactEmail": "jsFDnxjMmKedPsM",
+ "contactFirstName": "CnubJIiONQshfju",
+ "contactLastName": "dSzktEWSSSCprRV",
+ "description": "DDnerbtCJcXJdSJ",
"grantTypes": [
@8
"grantTypes": [
- "VfWudsTQINERQCnVKvoK"
+ "AZyZGSnloQEkXrZ",
+ "BNgxGvVgawObCVA",
+ "BjCRlTHkIrknhYY",
+ "LHMMMDnYcvuLBBr",
+ "OIrutyPdvoSFBEK",
+ "QvCZUUeKLSXfSwP",
+ "WtQmSJdnWutzEFu",
+ "tzKRkWouoUtnZYH",
+ "vYhaZOcFlrIscRU",
+ "wktIDvVUQJUehFR"
],
@10
],
- "id": "c53927c3-0d1c-48a8-8f0a-7560be89daa5",
- "name": "FXUHHqWrZZcodhHBmeLf",
+ "id": "9daaad0a-8a2d-4e73-a963-fa1625cec110",
+ "name": "name",
+ "privileges": [
+ "CHECK_TOKEN",
+ "MANAGE_CLIENT",
+ "MANAGE_IDP",
+ "MANAGE_USER"
+ ],
"redirectUris": [
@13
"redirectUris": [
- "vWxSTjgJQvwUtwphDGcn"
+ "JSdQvUdokPTlodl",
+ "JpEMvpcIWescPZR",
+ "VeqlKVXnbCPyjZK",
+ "ZgVqKaCOgYZtlZj",
+ "hMFJKfVwkgapsNe",
+ "hQxZXAecosoXsif",
+ "kFGJHlrcwnWORzL",
+ "nQdyNhxIKLmpZHk",
+ "oHUgeTNOYNQdkGo",
+ "wnrIZYwfVHPoLcU"
],
@15
],
- "refreshTokenValiditySeconds": 12393550,
+ "refreshTokenValiditySeconds": 165274901,
"secretRequired": true
@17
"secretRequired": true
+ },
+ {
+ "accessTokenValiditySeconds": 1725247274,
+ "allowedScopes": [
+ "DniUNWUNDSoDBmh",
+ "PCKoRyrTHZkdjjQ",
+ "TDGLJwfbUeziRgS",
+ "WLaCWUpQQjadDze",
+ "bIKJzzITpzkTKKe",
+ "kBnuzmYirIFSDHb",
+ "kllRvIwJInmGGDo",
+ "sAGFquVxtUfsHkv",
+ "vwHipQUTSpvwihE",
+ "wtOOOSLDvdPUbpe"
+ ],
+ "autoApprove": false,
+ "clientSecret": "$2a$10$JwbbZXMdlUcA1MLFuuVhIuGoNuWonOmBsS/rwU5MsehYhuYNATYlK",
+ "contactEmail": "LwjNwwogIBxMbSj",
+ "contactFirstName": "oZxnuPyIDpWMlif",
+ "contactLastName": "SeJEOGhoEjVaEuk",
+ "description": "neeqtcvQabZRfXP",
+ "grantTypes": [
+ "GcpIbfNNisoSNOz",
+ "JjPlzVVjfDyupEg",
+ "KWRiUwKAMugbfPu",
+ "KgcbziOdPPRStin",
+ "MgDYVCVVAVZjVCv",
+ "RgVWYlRkucVyeYj",
+ "WlPOmAIlNKbiLLh",
+ "ngKPorkQQeZCDCh",
+ "pXpajHeVaiBgnRy",
+ "vzEJhYIqrlaVCSQ"
+ ],
+ "id": "ec9aa5b3-ac7c-45b1-b953-cedb81e5edc1",
+ "name": "kttnlBIPLEnuBiZ",
+ "privileges": [
+ "CHECK_TOKEN",
+ "MANAGE_CLIENT",
+ "MANAGE_IDP",
+ "MANAGE_USER"
+ ],
+ "redirectUris": [
+ "BaRiVtqyuNMZHPN",
+ "FwewjwPbonGsHGT",
+ "NuJLdsXCsPHpohJ",
+ "aNgUAnBjTypdOSR",
+ "eBbFcnqrkiOrmFS",
+ "eDuAcRFfkLHWLDQ",
+ "gCsvfvXcBMxmweb",
+ "iWNmdhYHPugfbuK",
+ "wNIkiYFWKrEAkWx",
+ "zzSSwkPFznXoTyS"
+ ],
+ "refreshTokenValiditySeconds": 1933494902,
+ "secretRequired": true
+ },
+ {
+ "accessTokenValiditySeconds": 0,
+ "allowedScopes": [
+
+ ],
+ "autoApprove": false,
+ "clientSecret": null,
+ "grantTypes": [
+
+ ],
+ "id": "29b16b57-8212-4aeb-a180-b021399c0012",
+ "privileges": [
+
+ ],
+ "redirectUris": [
+
+ ],
+ "refreshTokenValiditySeconds": 0,
+ "secretRequired": false
+ },
+ {
+ "accessTokenValiditySeconds": 600000,
+ "allowedScopes": [
+ "Authentication"
+ ],
+ "autoApprove": false,
+ "clientSecret": "$2a$10$tMneESmkGPUwIQlzN3C4J.wcKrSmIq2uzsy96iKrUSOt42zNUZmNi",
+ "grantTypes": [
+ "client_credentials",
+ "password"
+ ],
+ "id": "5139950a-ecc8-40e3-aa31-cf79fe1bb72a",
+ "name": "Bootstrapped IDM Super Admin Client",
+ "privileges": [
+ "CHECK_TOKEN",
+ "MANAGE_CLIENT",
+ "MANAGE_IDP",
+ "MANAGE_USER"
+ ],
+ "redirectUris": [
+
+ ],
+ "refreshTokenValiditySeconds": 0,
+ "secretRequired": false
+ },
+ {
+ "accessTokenValiditySeconds": 1809947019,
+ "allowedScopes": [
+ "HTjyKASlWYCBEUL",
+ "LuRbWINFCYYfqmn",
+ "NISLZYXBQfuvomi",
+ "aYHzRfYrLXanoHS",
+ "evdIxHlemfODOKz",
+ "iyDRsGFHXDfFBAV",
+ "jFEaMGEnlgFXsoa",
+ "mRAAkSlNbWWTqsG",
+ "pDaAdfKPCVfbyaw",
+ "vrdvokfjVROZPan"
+ ],
+ "autoApprove": false,
+ "clientSecret": "$2a$10$b7MNfMwh0BGVubuKYlDbV.5oCqJoeQYG2hSo9C4DihXOeb4CXqrsG",
+ "contactEmail": "VaMZTtqRqBvOvBl",
+ "contactFirstName": "ffHtrxjHpzIAihS",
+ "contactLastName": "VcaCBwtCeZCfsxb",
+ "description": "KQlCEHKgKGObNhi",
+ "grantTypes": [
+ "GKZMjJbGxVvKdTf",
+ "HTBnDSaTnuDootw",
+ "IOgFyTrlNyQcYUa",
+ "SNqWULQeMVLrPjN",
+ "ZvEUOgyqMOeoSjW",
+ "bBzeQzHXRvcUBPu",
+ "bkCouMGlhCaDhgb",
+ "iwUvuqgFKLfcDVh",
+ "juyotxqlMIGwiys",
+ "sgyYQrnkPRVclVJ"
+ ],
+ "id": "abe5645a-b303-4dd7-bc4c-5a3599e4ce72",
+ "name": "uHZUxyJqDAyNptF",
+ "privileges": [
+ "CHECK_TOKEN",
+ "MANAGE_CLIENT",
+ "MANAGE_IDP",
+ "MANAGE_USER"
+ ],
+ "redirectUris": [
+ "GoAuyKzABYDTUqg",
+ "HTwMUvPcQOYPkUT",
+ "MJHipgdmPTxfUuj",
+ "NLulSzXmjnCjifO",
+ "VSlGAUERZQztLyT",
+ "VwnhszQuaLEkQon",
+ "bQJsqttVsvaHrtX",
+ "cjMrHahYtcbTjkG",
+ "oTZYTlcMuFlAnjY",
+ "vnlzNRecpUiGAxX"
+ ],
+ "refreshTokenValiditySeconds": 1013769012,
+ "secretRequired": false
+ },
+ {
+ "accessTokenValiditySeconds": 2124378825,
+ "allowedScopes": [
+ "IYULWZOlSmyOuQO",
+ "JmpNgONMIZWZQLp",
+ "RmIgJyXmUUzIspF",
+ "bogyoaCJjLeRUtC",
+ "iPZCIbXkTgsRtes",
+ "kihJzBSfXirxlxq",
+ "pZuBJSjRtJYbVPX",
+ "qNFJwRqvzogwQjb",
+ "rXSYjJOocszzdTJ",
+ "sUGVsVEAJADDenq"
+ ],
+ "autoApprove": false,
+ "clientSecret": "$2a$10$b7UeYkUlzJtMQolYT0EfUuFvc0oxkWDIZK47WgIZl5WIs0fHe06jW",
+ "contactEmail": "zfKuMYNkolWqAPK",
+ "contactFirstName": "lgNQHrcREakjEDA",
+ "contactLastName": "DILHlcDnOYXAxVh",
+ "description": "fXFARwCruCXTNuE",
+ "grantTypes": [
+ "IUnJVmlnTYKcaJS",
+ "SvKDbcqJkhyIhVX",
+ "WDmeMkrVLQVxoUU",
+ "apelxyjDDWXuCag",
+ "dXivSOKqrFpaNAT",
+ "mSJhWHXtVTkgqZS",
+ "oQGyIGTwqCuirCf",
+ "uTFTiJoIkarfpSA",
+ "wQLNARxYjZmKDvE",
+ "wuVbAPumkrvOlRv"
+ ],
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "EAtjINlTAReePqR",
+ "privileges": [
+ "CHECK_TOKEN",
+ "MANAGE_CLIENT",
+ "MANAGE_IDP",
+ "MANAGE_USER"
+ ],
+ "redirectUris": [
+ "BNsvZRCMNyrtJaD",
+ "FQXBHSNdEUimaNJ",
+ "GWsniUCqOoNSPhn",
+ "IbBIvORNmaAFOFT",
+ "VPLtuVKbdigjZfq",
+ "VUDiKjFEYBHhiqC",
+ "aCbOaeXgMEapzyi",
+ "cOAMxaavBWeBbvd",
+ "rCRustlayuLmXnf",
+ "zPtYmXtjrNdJoRw"
+ ],
+ "refreshTokenValiditySeconds": 419507870,
+ "secretRequired": true
+ },
+ {
+ "accessTokenValiditySeconds": 754238008,
+ "allowedScopes": [
+ "AGxOUOfBzAibEnX",
+ "DnXPgPkHcXDJSNx",
+ "GDebGtpNFedFMPm",
+ "KjpNccNvtfIRMqx",
+ "OrnXWhKCFwFDVCf",
+ "OtVrUtgbUMhnHQd",
+ "aErDlnPkIolnFvG",
+ "bwWHWGNsHlSZDrG",
+ "obStsABdnutCNuT",
+ "rVZzTsgYuSqsEym"
+ ],
+ "autoApprove": true,
+ "clientSecret": "$2a$10$m7Wy0xvy7Cw2uF28XcWUmOpFMp4iYFZTYQexd5r3FKTX2Vx8RaeGu",
+ "contactEmail": "WcYFsLhijGBPjQY",
+ "contactFirstName": "MCeAUJhvcnmEXko",
+ "contactLastName": "jALQvTAoYrFAvCI",
+ "description": "JSxfCILtMXellpE",
+ "grantTypes": [
+ "AUPLnUKJczywqLT",
+ "MvgXIcoULCbArnF",
+ "SUTZcNpCNUryhPk",
+ "SZzixGZwOOwsdEm",
+ "TUwlKSJzOQJjFtE",
+ "UBYbkDYVWUqXtgV",
+ "UMvtOwECDAtRaKe",
+ "bvVjUGMHZuOjFvH",
+ "lRpGIaMPiVPcQaX",
+ "skvQACLVEhUWetK"
+ ],
+ "id": "25eeb46b-0332-4954-923c-6cacfab61e5e",
+ "name": "cztobBVnSsdhUos",
+ "privileges": [
+ "CHECK_TOKEN",
+ "MANAGE_CLIENT",
+ "MANAGE_IDP",
+ "MANAGE_USER"
+ ],
+ "redirectUris": [
+ "CoXWoFdJnvHsgEs",
+ "LMyTEdLbEJGQjtO",
+ "WRLrPPjoXxQhrnM",
+ "fITktVzrQkgdBPx",
+ "hgoSWAfeVATseYr",
+ "pOEcevjMzzmFmaD",
+ "qsCHHuCOZdZhkMh",
+ "uKlmmfIzLBTmbLl",
+ "wshXTzgJHAakLno",
+ "ztSBSqnMvszorzj"
+ ],
+ "refreshTokenValiditySeconds": 2122765226,
+ "secretRequired": false
+ },
+ {
+ "accessTokenValiditySeconds": 112231087,
+ "allowedScopes": [
+ "JGMMpPRhdYuWXWM",
+ "SqgATtdjuWzdIVM",
+ "WdmJIkwNtFkpvxv",
+ "cMKgMHLGHuqqebY",
+ "iivGvqdAzwWBFgG",
+ "lSYnBbQLOzEWUpj",
+ "pPYAdhBUCTjGQMH",
+ "psAmNOXdhwZxnJk",
+ "sfinhnHbsSGRFOZ",
+ "uHqjAJxKEWirNKZ"
+ ],
+ "autoApprove": false,
+ "clientSecret": "$2a$10$bVZCH/ltnO2yuJLOIJnxoOJtDIKg/mDPT1ntIfUiD.mD3tS8GD/9.",
+ "contactEmail": "BTzlOzxviOBjCVj",
+ "contactFirstName": "weBRrYFUYrqXvEv",
+ "contactLastName": "BEMvDYebZtccAUc",
+ "description": "zVRyZGuFIxnBgJx",
+ "grantTypes": [
+ "FKkchfLYgGfpchA",
+ "KAPCTXcUxFXwQOG",
+ "KecdGwJMtQHpKAo",
+ "PkyfhJsWTIThsiZ",
+ "ScNivDlmQzDFXvx",
+ "SckEYPiRzhuHeUo",
+ "WCpeXjwnikZYRow",
+ "ZzFcvrbMYryaIFn",
+ "tKIHJZtIJYZhgCt",
+ "thNSNRBUpckNMmn"
+ ],
+ "id": "4978ec48-abfb-47aa-854f-0e6410230c82",
+ "name": "VJUpcLuNAFKgchn",
+ "privileges": [
+ "CHECK_TOKEN",
+ "MANAGE_CLIENT",
+ "MANAGE_IDP",
+ "MANAGE_USER"
+ ],
+ "redirectUris": [
+ "DIpcrCYZDvdYePH",
+ "HkudJidqIdMkftV",
+ "ZlkEKMJRhgwvYdJ",
+ "acSmGqIydkSwxsO",
+ "gPZTJxjtKZsbqjR",
+ "geUrWuiXpMfamxo",
+ "rxrFHgktNHVaRsx",
+ "sKhhRKcdTqhOmiz",
+ "vVjkirLiAjfqAXj",
+ "wPvvwMlZjkExsZG"
+ ],
+ "refreshTokenValiditySeconds": 52955175,
+ "secretRequired": true
}
relevant interaction:
{
"description": "a request to get all clients",
"request": {
"method": "GET",
"path": "/some/url/client"
},
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json; charset=UTF-8"
},
"body": [
{
"accessTokenValiditySeconds": 42721462,
"allowedScopes": [
"JnTfAlnHKVSDzoWnUqZv"
],
"autoApprove": true,
"grantTypes": [
"VfWudsTQINERQCnVKvoK"
],
"id": "c53927c3-0d1c-48a8-8f0a-7560be89daa5",
"name": "FXUHHqWrZZcodhHBmeLf",
"redirectUris": [
"vWxSTjgJQvwUtwphDGcn"
],
"refreshTokenValiditySeconds": 12393550,
"secretRequired": true
}
],
"matchingRules": {
"$.body[*].allowedScopes[*]": {
"match": "type"
},
"$.body[*].redirectUris[*]": {
"match": "type"
},
"$.body[*].grantTypes[*]": {
"match": "type"
},
"$.body[*].redirectUris": {
"min": 0,
"match": "type"
},
"$.body[*].autoApprove": {
"match": "type"
},
"$.body": {
"min": 1,
"match": "type"
},
"$.body[*].id": {
"regex": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
},
"$.body[*].accessTokenValiditySeconds": {
"match": "integer"
},
"$.body[*].secretRequired": {
"match": "type"
},
"$.body[*].refreshTokenValiditySeconds": {
"match": "integer"
},
"$.body[*].name": {
"match": "type"
},
"$.body[*].allowedScopes": {
"min": 0,
"match": "type"
},
"$.body[*].grantTypes": {
"min": 0,
"match": "type"
}
}
},
"providerState": "the 'zero' client exists"
},
generating fragment:
.given("the 'zero' client exists")
.uponReceiving("a request to get all clients")
.path("/some/url/client")
.method("GET")
.willRespondWith()
.status(200)
.body(PactDslJsonArray
.arrayMinLike(1)
.uuid("id")
.booleanType("secretRequired")
.eachLike("allowedScopes", stringType())
.eachLike("grantTypes", stringType())
.eachLike("redirectUris", stringType())
.integerType("accessTokenValiditySeconds")
.integerType("refreshTokenValiditySeconds")
.booleanType("autoApprove")
.stringType("name")
.closeObject())
.toFragment();
Thanks for all the information, I was able to reproduce it with a local project.
Found the issue. $.body.2 is referring to the third item in the list (it is zero based), which does not have a name field.
{
"accessTokenValiditySeconds": 0,
"allowedScopes": [
],
"autoApprove": false,
"clientSecret": null,
"grantTypes": [
],
"id": "29b16b57-8212-4aeb-a180-b021399c0012",
"privileges": [
],
"redirectUris": [
],
"refreshTokenValiditySeconds": 0,
"secretRequired": false
}
If the name is optional, you can leave it out of the consumer test.
So it sounds like it's an issue in how the error diff is displayed?
Yes, I think the output is really hard to see what was wrong and needs to be improved.
Improved it a bit by showing more localised diffs for missing elements:
$.body.2 -> Expected name='FXUHHqWrZZcodhHBmeLf' but was missing
Diff:
"redirectUris": [
- "vWxSTjgJQvwUtwphDGcn"
+
],
- "secretRequired": true,
- "name": "FXUHHqWrZZcodhHBmeLf",
- "accessTokenValiditySeconds": 42721462,
- "id": "c53927c3-0d1c-48a8-8f0a-7560be89daa5",
+ "secretRequired": false,
+ "accessTokenValiditySeconds": 0,
+ "privileges": [
+
+ ],
+ "id": "29b16b57-8212-4aeb-a180-b021399c0012",
+ "clientSecret": null,
"allowedScopes": [
- "JnTfAlnHKVSDzoWnUqZv"
+
],
- "autoApprove": true,
- "refreshTokenValiditySeconds": 12393550,
+ "autoApprove": false,
+ "refreshTokenValiditySeconds": 0,
"grantTypes": [
- "VfWudsTQINERQCnVKvoK"
+
]