Skip to content
Snippets Groups Projects
Commit a4bd2753 authored by Tamas Bunth's avatar Tamas Bunth
Browse files

Fix REST API tests

parent 83383bd6
Branches
No related tags found
No related merge requests found
package mobildata.client
import feign.Headers
import feign.Param
import feign.RequestLine
import mobildata.model.User
import mobildata.model.inout.Login
import mobildata.model.inout.MobilDataIn
import mobildata.model.inout.Register
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestHeader
import org.springframework.web.bind.annotation.RequestMapping
@Headers("Content-Type: application/json")
interface MobilDataClient {
@RequestLine("POST /api/data")
fun dataInput(@Param("Authorization") token:String, @RequestBody mobilIn: MobilDataIn)
}
...@@ -18,7 +18,7 @@ data class User(var email: String = "", ...@@ -18,7 +18,7 @@ data class User(var email: String = "",
var password: String = "", var password: String = "",
var token: String = "", var token: String = "",
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/mm/yyyy") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/mm/yyyy")
var birthDate: Date = Date(), var birthDate: Date? = null,
var deviceType: String = "", // TODO type var deviceType: String = "", // TODO type
var androidVersion: Int? = null, var androidVersion: Int? = null,
@Id @GeneratedValue(strategy = GenerationType.AUTO) @Id @GeneratedValue(strategy = GenerationType.AUTO)
......
...@@ -3,8 +3,11 @@ package mobildata ...@@ -3,8 +3,11 @@ package mobildata
import feign.Feign import feign.Feign
import feign.gson.GsonDecoder import feign.gson.GsonDecoder
import feign.gson.GsonEncoder import feign.gson.GsonEncoder
import mobildata.client.MobilDataClient
import mobildata.client.UserClient import mobildata.client.UserClient
import mobildata.model.LocationData
import mobildata.model.inout.Login import mobildata.model.inout.Login
import mobildata.model.inout.MobilDataIn
import mobildata.model.inout.Register import mobildata.model.inout.Register
import org.hamcrest.Matchers import org.hamcrest.Matchers
import org.junit.Assert import org.junit.Assert
...@@ -25,6 +28,7 @@ class ApiApplicationTests { ...@@ -25,6 +28,7 @@ class ApiApplicationTests {
@Autowired @Autowired
var environment: Environment? = null var environment: Environment? = null
var userClient: UserClient? = null var userClient: UserClient? = null
var dataClient: MobilDataClient? = null
fun <T> buildClient(t: Class<T>): T { fun <T> buildClient(t: Class<T>): T {
environment.let { environment.let {
...@@ -38,6 +42,7 @@ class ApiApplicationTests { ...@@ -38,6 +42,7 @@ class ApiApplicationTests {
@Before @Before
fun before() { fun before() {
userClient = buildClient(UserClient::class.java) userClient = buildClient(UserClient::class.java)
dataClient = buildClient(MobilDataClient::class.java)
} }
@Test @Test
...@@ -61,6 +66,18 @@ class ApiApplicationTests { ...@@ -61,6 +66,18 @@ class ApiApplicationTests {
Assert.assertEquals("bar@bar.com", barLogin?.email) Assert.assertEquals("bar@bar.com", barLogin?.email)
Assert.assertThat(barLogin?.token, Matchers.notNullValue()) Assert.assertThat(barLogin?.token, Matchers.notNullValue())
println("Login bar OK") println("Login bar OK")
// cannot do that
// feign does not support dynamic header parameter, if there is already a body parameter (bug)
//dataClient?.dataInput(barLogin!!.token ,MobilDataIn(location = LocationData(34.5, 45.6), sleepTime = 21, isNfcOn = true,
// isWifiOn = false, brightness = 23, battery = 98, isMobilDataOn = false, isBluetoothOn = false))
}
@Test
fun sendData() {
Url url = Url( "https://api.github.com/users/"
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment