Api >

Service Portal REST API

Deserialize: all fields set
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with optional field set to null
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": 25
    },
    {
      "name": "wrappedInteger",
      "value": 25
    },
    {
      "name": "optionalInteger",
      "value": 25
    },
    {
      "name": "optionalEnum",
      "value": "VALUE1"
    }
  ]
}
Then parser should produce DTO with:
Deserialize: unknown field
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with unknown field.
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": 25
    },
    {
      "name": "wrappedInteger",
      "value": 25
    },
    {
      "name": "unknownField",
      "value": "someValue"
    }
  ]
}
Then exception should occur:
Deserialize: primitive field - missing
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with missing primitive field
{
  "data": [
    {
      "name": "wrappedInteger",
      "value": 25
    }
  ]
}
Then exception should occur:
Deserialize: wrapper field - missing
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with missing wrapper field
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": 25
    }
  ]
}
Then exception should occur:
Deserialize: optional field - missing
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with missing optional field
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": 25
    },
    {
      "name": "wrappedInteger",
      "value": 25
    }
  ]
}
Then parser should produce DTO with:
Deserialize: primitive field - set to null
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with missing primitive field set to null
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": null
    },
    {
      "name": "wrappedInteger",
      "value": 25
    }
  ]
}
I expect exception:
Deserialize: wrapper field - set to null
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with wrapper field set to null
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": 25
    },
    {
      "name": "wrappedInteger",
      "value": null
    }
  ]
}
Then parser should produce DTO with:
Deserialize: optional field - set to null
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with optional field set to null
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": 25
    },
    {
      "name": "wrappedInteger",
      "value": 25
    },
    {
      "name": "optionalInteger",
      "value": null
    }
  ]
}
Then parser should produce DTO with:
Deserialize: primitive field - wrong data type
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with missing primitive field set to null
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": "here should be a number"
    },
    {
      "name": "wrappedInteger",
      "value": null
    }
  ]
}
I expect exception:
Deserialize: wrapper field - wrong data type
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with missing primitive field set to null
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": 1
    },
    {
      "name": "wrappedInteger",
      "value": "should be a number"
    }
  ]
}
I expect exception:
Deserialize: optional field - wrong data type
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
When I deserialize JSON with missing primitive field set to null
{
  "data": [
    {
      "name": "primitiveInteger",
      "value": 1
    },
    {
      "name": "wrappedInteger",
      "value": 23
    },
    {
      "name": "optionalInteger",
      "value": "should be a number"
    }
  ]
}
I expect exception:
Serialize - completely empty object
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
Having DTO completely empty. When it will be serialized Following JSON should be produced:
{
  "href": null,
  "links": null,
  "data": [
    {
      "name": "primitiveInteger",
      "value": 0
    },
    {
      "name": "wrappedInteger",
      "value": null
    }
  ]
}
Serialize - filled data object
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
Having DTO with data:
  • primitiveInteger = 11
  • wrappedInteger = 12
  • optionalInteger = 13
  • optionalEnum = value2
When it will be serialized Following JSON should be produced:
{
  "href": null,
  "links": null,
  "data": [
    {
      "name": "primitiveInteger",
      "value": 11
    },
    {
      "name": "wrappedInteger",
      "value": 12
    },
    {
      "name": "optionalInteger",
      "value": 13
    },
    {
      "name": "optionalEnum",
      "value": "value2"
    }
  ]
}
Serialize - optional field has explicit noValue()
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
Having DTO with data:
  • optionalInteger = noValue()
  • optionalEnum = noValue()
When it will be serialized Following JSON should be produced:
{
  "href": null,
  "links": null,
  "data": [
    {
      "name": "primitiveInteger",
      "value": 0
    },
    {
      "name": "wrappedInteger",
      "value": null
    }
  ]
}
Serialize - optional field has explicit nullValue()
Test setup
net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestRequest net.nfon.portal.api.test.dsl.OptionalValueDsl$OptionalValueTestData
Having DTO with data:
  • optionalInteger = nullValue()
  • optionalEnum = nullValue()
When it will be serialized Following JSON should be produced:
{
  "href": null,
  "links": null,
  "data": [
    {
      "name": "primitiveInteger",
      "value": 0
    },
    {
      "name": "wrappedInteger",
      "value": null
    },
    {
      "name": "optionalInteger",
      "value": null
    },
    {
      "name": "optionalEnum",
      "value": null
    }
  ]
}