package com.auth0.json.mgmt; import com.auth0.json.JsonMatcher; import com.auth0.json.JsonTest; import org.junit.Test; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; public class DeviceCredentialsTest extends JsonTest<DeviceCredentials> { private static final String json = "{\"device_name\":\"devName\",\"type\":\"publicKey\",\"device_id\":\"dev123\",\"user_id\":\"theUserId\"}"; private static final String readOnlyJson = "{\"id\":\"credentialsId\"}"; @Test public void shouldSerialize() throws Exception { DeviceCredentials credentials = new DeviceCredentials("devName", "publicKey", "val123", "dev123", "client123"); credentials.setUserId("theUserId"); String serialized = toJSON(credentials); assertThat(serialized, is(notNullValue())); assertThat(serialized, JsonMatcher.hasEntry("device_name", "devName")); assertThat(serialized, JsonMatcher.hasEntry("type", "publicKey")); assertThat(serialized, JsonMatcher.hasEntry("value", "val123")); assertThat(serialized, JsonMatcher.hasEntry("device_id", "dev123")); assertThat(serialized, JsonMatcher.hasEntry("client_id", "client123")); assertThat(serialized, JsonMatcher.hasEntry("user_id", "theUserId")); } @Test public void shouldDeserialize() throws Exception { DeviceCredentials credentials = fromJSON(json, DeviceCredentials.class); assertThat(credentials, is(notNullValue())); assertThat(credentials.getDeviceName(), is("devName")); assertThat(credentials.getType(), is("publicKey")); assertThat(credentials.getDeviceId(), is("dev123")); assertThat(credentials.getUserId(), is("theUserId")); } @Test public void shouldIncludeReadOnlyValuesOnDeserialize() throws Exception { DeviceCredentials credentials = fromJSON(readOnlyJson, DeviceCredentials.class); assertThat(credentials, is(notNullValue())); assertThat(credentials.getId(), is("credentialsId")); } }