import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
-import static org.hamcrest.CoreMatchers.equalTo;
+import static com.samsung.dsm.utils.CustomMatchers.containsJson;
import static org.junit.Assert.assertThat;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
public void deviceByUUIDOk() throws Exception {
ResultActions result = mockMvc.perform(get("/restapi/device/1234")).andExpect(status().isOk());
String content = result.andReturn().getResponse().getContentAsString();
- assertThat(content, equalTo("{\"id\":1,\"uuid\":\"1234\",\"name\":\"s8\",\"type\":\"smartphone\",\"model\":\"samsung s8 edge\",\"status\":\"on\",\"statusText\":\"Connected\",\"agents\":null,\"reports\":null}"));
+ assertThat(content, containsJson("{\"uuid\":\"1234\",\"name\":\"s8\",\"type\":\"smartphone\",\"model\":\"samsung s8 edge\",\"status\":\"on\",\"statusText\":\"Connected\",\"agents\":null,\"reports\":null"));
}
@Test
--- /dev/null
+/*
+ * In Samsung Ukraine R&D Center (SRK under a contract between)
+ * LLC "Samsung Electronics Co", Ltd (Seoul, Republic of Korea)
+ * Copyright: (c) Samsung Electronics Co, Ltd 2017. All rights reserved.
+ */
+package com.samsung.dsm.utils;
+
+
+/**
+ * Custom Hamcrest Matchers
+ * <p>
+ * Convenient matchers that help us to write concise tests
+ *
+ * @author <A HREF="mailto:o.abakumov@samsung.com">Oleksandr Abakumov</A>
+ * @version 1.0
+ * @since 2017-07-11
+ */
+public class CustomMatchers {
+
+ /**
+ * Strips '{' '}' , trims whitespaces before comparing
+ *
+ * @param json json as string
+ * @return matcher
+ */
+ public static org.hamcrest.Matcher<java.lang.String> containsJson(String json) {
+ String cleanString = json.replaceAll("\\{", "").replaceAll("}", "").trim();
+ return org.hamcrest.core.StringContains.containsString(cleanString);
+ }
+}