defaultData
Showing
File added
No preview for this file type
No preview for this file type
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
No preview for this file type
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> | ||
<meta http-equiv="x-ua-compatible" content="IE=edge"/> | ||
<title>Test results - Class edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest</title> | ||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/> | ||
<link href="../css/style.css" rel="stylesheet" type="text/css"/> | ||
<script src="../js/report.js" type="text/javascript"></script> | ||
</head> | ||
<body> | ||
<div id="content"> | ||
<h1>Class edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest</h1> | ||
<div class="breadcrumbs"> | ||
<a href="../index.html">all</a> > | ||
<a href="../packages/edu.prlab.tyler.iotgateway.gateway.html">edu.prlab.tyler.iotgateway.gateway</a> > GatewayHttpApiTest</div> | ||
<div id="summary"> | ||
<table> | ||
<tr> | ||
<td> | ||
<div class="summaryGroup"> | ||
<table> | ||
<tr> | ||
<td> | ||
<div class="infoBox" id="tests"> | ||
<div class="counter">1</div> | ||
<p>tests</p> | ||
</div> | ||
</td> | ||
<td> | ||
<div class="infoBox" id="failures"> | ||
<div class="counter">0</div> | ||
<p>failures</p> | ||
</div> | ||
</td> | ||
<td> | ||
<div class="infoBox" id="ignored"> | ||
<div class="counter">0</div> | ||
<p>ignored</p> | ||
</div> | ||
</td> | ||
<td> | ||
<div class="infoBox" id="duration"> | ||
<div class="counter">0.649s</div> | ||
<p>duration</p> | ||
</div> | ||
</td> | ||
</tr> | ||
</table> | ||
</div> | ||
</td> | ||
<td> | ||
<div class="infoBox success" id="successRate"> | ||
<div class="percent">100%</div> | ||
<p>successful</p> | ||
</div> | ||
</td> | ||
</tr> | ||
</table> | ||
</div> | ||
<div id="tabs"> | ||
<ul class="tabLinks"> | ||
<li> | ||
<a href="#tab0">Tests</a> | ||
</li> | ||
<li> | ||
<a href="#tab1">Standard output</a> | ||
</li> | ||
</ul> | ||
<div id="tab0" class="tab"> | ||
<h2>Tests</h2> | ||
<table> | ||
<thead> | ||
<tr> | ||
<th>Test</th> | ||
<th>Duration</th> | ||
<th>Result</th> | ||
</tr> | ||
</thead> | ||
<tr> | ||
<td class="success">getPrivacyPolicyAndSetChoice</td> | ||
<td class="success">0.649s</td> | ||
<td class="success">passed</td> | ||
</tr> | ||
</table> | ||
</div> | ||
<div id="tab1" class="tab"> | ||
<h2>Standard output</h2> | ||
<span class="code"> | ||
<pre>2019-06-03 14:13:29.860 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest], using SpringBootContextLoader | ||
2019-06-03 14:13:29.860 INFO 19448 --- [ Test worker] o.s.t.c.support.AbstractContextLoader : Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest]: no resource found for suffixes {-context.xml, Context.groovy}. | ||
2019-06-03 14:13:29.862 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener] | ||
2019-06-03 14:13:29.862 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@35f71a, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@1f565b02, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@2f8d0bfa, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@14426abb, org.springframework.test.context.support.DirtiesContextTestExecutionListener@3b60c20e, org.springframework.test.context.transaction.TransactionalTestExecutionListener@1643102b, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@51561bc2, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@5646a4e1, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@6b8b7c95, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@6547fb87, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4ae74e6, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@672cb93e] | ||
. ____ _ __ _ _ | ||
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ | ||
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ | ||
\\/ ___)| |_)| | | | | || (_| | ) ) ) ) | ||
' |____| .__|_| |_|_| |_\__, | / / / / | ||
=========|_|==============|___/=/_/_/_/ | ||
:: Spring Boot :: (v2.1.4.RELEASE) | ||
2019-06-03 14:13:29.876 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Starting GatewayHttpApiTest on DESKTOP-1ADCP8A with PID 19448 (started by Tyler in D:\SpringBoot\iotgateway\gateway) | ||
2019-06-03 14:13:29.877 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : No active profile set, falling back to default profiles: default | ||
2019-06-03 14:13:29.974 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. | ||
2019-06-03 14:13:29.982 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 8ms. Found 3 repository interfaces. | ||
2019-06-03 14:13:30.021 INFO 19448 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$78358982] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) | ||
2019-06-03 14:13:30.068 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... | ||
2019-06-03 14:13:30.068 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. | ||
2019-06-03 14:13:30.097 INFO 19448 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ | ||
name: default | ||
...] | ||
2019-06-03 14:13:30.107 INFO 19448 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect | ||
2019-06-03 14:13:30.200 INFO 19448 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@431ca4c0' | ||
2019-06-03 14:13:30.200 INFO 19448 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' | ||
2019-06-03 14:13:30.449 INFO 19448 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' | ||
2019-06-03 14:13:30.457 WARN 19448 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning | ||
2019-06-03 14:13:30.612 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Started GatewayHttpApiTest in 0.749 seconds (JVM running for 4.767) | ||
2019-06-03 14:13:30.613 INFO 19448 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory | ||
2019-06-03 14:13:30.624 INFO 19448 --- [ Test worker] o.s.b.t.m.w.SpringBootMockServletContext : Initializing Spring TestDispatcherServlet '' | ||
2019-06-03 14:13:30.625 INFO 19448 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Initializing Servlet '' | ||
2019-06-03 14:13:30.633 INFO 19448 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Completed initialization in 8 ms | ||
MockHttpServletRequest: | ||
HTTP Method = POST | ||
Request URI = /login | ||
Parameters = {} | ||
Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/json;charset=UTF-8"] | ||
Body = {"account":"testUser0","password":"testUser0"} | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.UserController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.gateway.pojo.auth.SensitiveUser> edu.prlab.tyler.iotgateway.gateway.controllers.UserController.login(edu.prlab.tyler.iotgateway.gateway.pojo.auth.SensitiveUser) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"account":"testUser0","password":"testUser0"} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = POST | ||
Request URI = /device/a1252c49-4188-4e6d-a32e-66604c664fb8 | ||
Parameters = {} | ||
Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/json;charset=UTF-8"] | ||
Body = {"account":"testUser0","password":"testUser0"} | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.cloud.pojo.device.Device> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.bindDeviceAndGateway(java.lang.String) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = GET | ||
Request URI = /device | ||
Parameters = {} | ||
Headers = [Accept:"application/json;charset=UTF-8"] | ||
Body = <no character encoding set> | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<java.lang.Iterable<edu.prlab.tyler.iotgateway.cloud.pojo.device.Device>> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.readDevices() | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = [{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"}] | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = GET | ||
Request URI = /privacy/a1252c49-4188-4e6d-a32e-66604c664fb8/test | ||
Parameters = {} | ||
Headers = [Accept:"application/json;charset=UTF-8"] | ||
Body = <no character encoding set> | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.gateway.model.PrivacyPolicyReportResponse> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.readPrivacyPolicyReportByDevice(java.lang.String,java.lang.String) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"id":"1","version":"1.0","description":"本APP會蒐集使用者心跳、血氧作為第三方之分析資料。","device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policies":[{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]},{"id":"2","description":"本APP會蒐集使用者血氧作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f48","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者血氧作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"血氧資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f89","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者血氧作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"血氧資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}],"document":null,"choices":{"0":false,"1":false}} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = POST | ||
Request URI = /choice | ||
Parameters = {} | ||
Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/json;charset=UTF-8"] | ||
Body = {"id":0,"privacyContent":{"id":0,"user":{"id":0,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true} | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.gateway.model.PrivacyChoiceResponse> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.setPrivacyChoice(edu.prlab.tyler.iotgateway.cloud.pojo.privacy.PrivacyChoice) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"id":1,"localDateTime":"2019-06-03T14:13:31.205","privacyChoice":{"id":1,"privacyContent":{"id":1,"user":{"id":1,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true}} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = GET | ||
Request URI = /privacy/a1252c49-4188-4e6d-a32e-66604c664fb8/test | ||
Parameters = {} | ||
Headers = [Accept:"application/json;charset=UTF-8"] | ||
Body = <no character encoding set> | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.gateway.model.PrivacyPolicyReportResponse> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.readPrivacyPolicyReportByDevice(java.lang.String,java.lang.String) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"id":"1","version":"1.0","description":"本APP會蒐集使用者心跳、血氧作為第三方之分析資料。","device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policies":[{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]},{"id":"2","description":"本APP會蒐集使用者血氧作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f48","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者血氧作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"血氧資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f89","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者血氧作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"血氧資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}],"document":null,"choices":{"0":true,"1":false}} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = GET | ||
Request URI = /choice/test | ||
Parameters = {} | ||
Headers = [Accept:"application/json;charset=UTF-8"] | ||
Body = <no character encoding set> | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<java.lang.Iterable<edu.prlab.tyler.iotgateway.gateway.model.PrivacyChoiceResponse>> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.readPrivacyChoiceRecordsByUser(java.lang.String) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = [{"id":1,"localDateTime":"2019-06-03T14:13:31.205","privacyChoice":{"id":1,"privacyContent":{"id":1,"user":{"id":1,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true}}] | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
</pre> | ||
</span> | ||
</div> | ||
</div> | ||
<div id="footer"> | ||
<p> | ||
<div> | ||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines | ||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> | ||
</label> | ||
</div>Generated by | ||
<a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/3 下午 02:13:31</p> | ||
</div> | ||
</div> | ||
</body> | ||
</html> |
<?xml version="1.0" encoding="UTF-8"?> | ||
<testsuite name="edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest" tests="1" skipped="0" failures="0" errors="0" timestamp="2019-06-03T06:13:30" hostname="DESKTOP-1ADCP8A" time="0.649"> | ||
<properties/> | ||
<testcase name="getPrivacyPolicyAndSetChoice" classname="edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest" time="0.649"/> | ||
<system-out><![CDATA[2019-06-03 14:13:29.860 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest], using SpringBootContextLoader | ||
2019-06-03 14:13:29.860 INFO 19448 --- [ Test worker] o.s.t.c.support.AbstractContextLoader : Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest]: no resource found for suffixes {-context.xml, Context.groovy}. | ||
2019-06-03 14:13:29.862 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener] | ||
2019-06-03 14:13:29.862 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@35f71a, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@1f565b02, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@2f8d0bfa, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@14426abb, org.springframework.test.context.support.DirtiesContextTestExecutionListener@3b60c20e, org.springframework.test.context.transaction.TransactionalTestExecutionListener@1643102b, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@51561bc2, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@5646a4e1, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@6b8b7c95, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@6547fb87, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4ae74e6, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@672cb93e] | ||
. ____ _ __ _ _ | ||
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ | ||
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ | ||
\\/ ___)| |_)| | | | | || (_| | ) ) ) ) | ||
' |____| .__|_| |_|_| |_\__, | / / / / | ||
=========|_|==============|___/=/_/_/_/ | ||
:: Spring Boot :: (v2.1.4.RELEASE) | ||
2019-06-03 14:13:29.876 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Starting GatewayHttpApiTest on DESKTOP-1ADCP8A with PID 19448 (started by Tyler in D:\SpringBoot\iotgateway\gateway) | ||
2019-06-03 14:13:29.877 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : No active profile set, falling back to default profiles: default | ||
2019-06-03 14:13:29.974 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. | ||
2019-06-03 14:13:29.982 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 8ms. Found 3 repository interfaces. | ||
2019-06-03 14:13:30.021 INFO 19448 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$78358982] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) | ||
2019-06-03 14:13:30.068 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... | ||
2019-06-03 14:13:30.068 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. | ||
2019-06-03 14:13:30.097 INFO 19448 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ | ||
name: default | ||
...] | ||
2019-06-03 14:13:30.107 INFO 19448 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect | ||
2019-06-03 14:13:30.200 INFO 19448 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@431ca4c0' | ||
2019-06-03 14:13:30.200 INFO 19448 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' | ||
2019-06-03 14:13:30.449 INFO 19448 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' | ||
2019-06-03 14:13:30.457 WARN 19448 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning | ||
2019-06-03 14:13:30.612 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Started GatewayHttpApiTest in 0.749 seconds (JVM running for 4.767) | ||
2019-06-03 14:13:30.613 INFO 19448 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory | ||
2019-06-03 14:13:30.624 INFO 19448 --- [ Test worker] o.s.b.t.m.w.SpringBootMockServletContext : Initializing Spring TestDispatcherServlet '' | ||
2019-06-03 14:13:30.625 INFO 19448 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Initializing Servlet '' | ||
2019-06-03 14:13:30.633 INFO 19448 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Completed initialization in 8 ms | ||
MockHttpServletRequest: | ||
HTTP Method = POST | ||
Request URI = /login | ||
Parameters = {} | ||
Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/json;charset=UTF-8"] | ||
Body = {"account":"testUser0","password":"testUser0"} | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.UserController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.gateway.pojo.auth.SensitiveUser> edu.prlab.tyler.iotgateway.gateway.controllers.UserController.login(edu.prlab.tyler.iotgateway.gateway.pojo.auth.SensitiveUser) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"account":"testUser0","password":"testUser0"} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = POST | ||
Request URI = /device/a1252c49-4188-4e6d-a32e-66604c664fb8 | ||
Parameters = {} | ||
Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/json;charset=UTF-8"] | ||
Body = {"account":"testUser0","password":"testUser0"} | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.cloud.pojo.device.Device> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.bindDeviceAndGateway(java.lang.String) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = GET | ||
Request URI = /device | ||
Parameters = {} | ||
Headers = [Accept:"application/json;charset=UTF-8"] | ||
Body = <no character encoding set> | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<java.lang.Iterable<edu.prlab.tyler.iotgateway.cloud.pojo.device.Device>> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.readDevices() | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = [{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"}] | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = GET | ||
Request URI = /privacy/a1252c49-4188-4e6d-a32e-66604c664fb8/test | ||
Parameters = {} | ||
Headers = [Accept:"application/json;charset=UTF-8"] | ||
Body = <no character encoding set> | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.gateway.model.PrivacyPolicyReportResponse> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.readPrivacyPolicyReportByDevice(java.lang.String,java.lang.String) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"id":"1","version":"1.0","description":"本APP會蒐集使用者心跳、血氧作為第三方之分析資料。","device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policies":[{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]},{"id":"2","description":"本APP會蒐集使用者血氧作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f48","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者血氧作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"血氧資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f89","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者血氧作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"血氧資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}],"document":null,"choices":{"0":false,"1":false}} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = POST | ||
Request URI = /choice | ||
Parameters = {} | ||
Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/json;charset=UTF-8"] | ||
Body = {"id":0,"privacyContent":{"id":0,"user":{"id":0,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true} | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.gateway.model.PrivacyChoiceResponse> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.setPrivacyChoice(edu.prlab.tyler.iotgateway.cloud.pojo.privacy.PrivacyChoice) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"id":1,"localDateTime":"2019-06-03T14:13:31.205","privacyChoice":{"id":1,"privacyContent":{"id":1,"user":{"id":1,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true}} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = GET | ||
Request URI = /privacy/a1252c49-4188-4e6d-a32e-66604c664fb8/test | ||
Parameters = {} | ||
Headers = [Accept:"application/json;charset=UTF-8"] | ||
Body = <no character encoding set> | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<edu.prlab.tyler.iotgateway.gateway.model.PrivacyPolicyReportResponse> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.readPrivacyPolicyReportByDevice(java.lang.String,java.lang.String) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = {"id":"1","version":"1.0","description":"本APP會蒐集使用者心跳、血氧作為第三方之分析資料。","device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policies":[{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]},{"id":"2","description":"本APP會蒐集使用者血氧作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f48","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者血氧作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"血氧資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f89","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者血氧作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"血氧資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}],"document":null,"choices":{"0":true,"1":false}} | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
MockHttpServletRequest: | ||
HTTP Method = GET | ||
Request URI = /choice/test | ||
Parameters = {} | ||
Headers = [Accept:"application/json;charset=UTF-8"] | ||
Body = <no character encoding set> | ||
Session Attrs = {} | ||
Handler: | ||
Type = edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController | ||
Method = public org.springframework.http.ResponseEntity<java.lang.Iterable<edu.prlab.tyler.iotgateway.gateway.model.PrivacyChoiceResponse>> edu.prlab.tyler.iotgateway.gateway.controllers.GatewayController.readPrivacyChoiceRecordsByUser(java.lang.String) | ||
Async: | ||
Async started = false | ||
Async result = null | ||
Resolved Exception: | ||
Type = null | ||
ModelAndView: | ||
View name = null | ||
View = null | ||
Model = null | ||
FlashMap: | ||
Attributes = null | ||
MockHttpServletResponse: | ||
Status = 200 | ||
Error message = null | ||
Headers = [Content-Type:"application/json;charset=UTF-8"] | ||
Content type = application/json;charset=UTF-8 | ||
Body = [{"id":1,"localDateTime":"2019-06-03T14:13:31.205","privacyChoice":{"id":1,"privacyContent":{"id":1,"user":{"id":1,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true}}] | ||
Forwarded URL = null | ||
Redirected URL = null | ||
Cookies = [] | ||
]]></system-out> | ||
<system-err><![CDATA[]]></system-err> | ||
</testsuite> |
No preview for this file type
File added
File added
File added
File added
File added
Please register or sign in to comment