Skip to content

Commit 2740faf

Browse files
committed
Merge branch 'fix/ethereum' into main
2 parents 3299906 + 13939f0 commit 2740faf

13 files changed

Lines changed: 145 additions & 9 deletions

File tree

src/main/kotlin/com/duckbox/dto/user/RegisterDto.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ data class RegisterDto (
1010
val college: String,
1111
val department: List<String>,
1212
val fcmToken: String,
13+
val address: String,
1314
)

src/main/kotlin/com/duckbox/helper/VoteScheduler.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,23 @@ class VoteScheduler (
2323
val openVoteList: MutableList<VoteEntity> = voteRepository.findAllByStatus(BallotStatus.OPEN)
2424
openVoteList.forEach {
2525
if (it.finishTime <= now) {
26-
it.status = BallotStatus.FINISHED
27-
voteRepository.save(it)
28-
2926
// to ethereum
3027
ballotService.close(it.id.toString(), it.voteNum)
28+
29+
it.status = BallotStatus.FINISHED
30+
voteRepository.save(it)
3131
}
3232
}
3333

3434
// try to start vote for REGISTERED vote
3535
val registeredVoteList: MutableList<VoteEntity> = voteRepository.findAllByStatus(BallotStatus.REGISTERED)
3636
registeredVoteList.forEach {
3737
if (it.startTime <= now) {
38-
it.status = BallotStatus.OPEN
39-
voteRepository.save(it)
40-
4138
// to ethereum
4239
ballotService.open(it.id.toString())
40+
41+
it.status = BallotStatus.OPEN
42+
voteRepository.save(it)
4343
}
4444
}
4545
}

src/main/kotlin/com/duckbox/service/UserService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class UserService (
7474

7575
// send transaction
7676
val did = generateUserDID(registerDto.email)
77-
//didService.registerDid(did)
77+
didService.registerDid(address = registerDto.address, did = did)
7878

7979
// save to server
8080
val id = userRepository.save(

src/main/kotlin/com/duckbox/service/ethereum/DIdService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ class DIdService(private val ethereumService: EthereumService) {
1919
private final val REGISTER = "registerId"
2020
private final val UNREGISTER = "removeId"
2121

22-
fun registerDid(address: String, did: String): Boolean? {
22+
fun registerDid(address: String, did: String) {
2323
val inputParams = listOf<Type<*>>(Address(address), Bytes32(DatatypeConverter.parseHexBinary(did)))
2424
val outputParams = listOf<TypeReference<*>>()
25-
return ethereumService.ethSendRaw(contractAddress, REGISTER, inputParams, outputParams) as Boolean?
25+
ethereumService.ethSendRaw(contractAddress, REGISTER, inputParams, outputParams)
2626
}
2727

2828
fun removeDid(address: String) {

src/test/kotlin/com/duckbox/MockDto.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ object MockDto {
2020
college = "ku",
2121
department = listOf("computer", "software"),
2222
fcmToken = "temp",
23+
address = "0x11",
2324
)
2425

2526
val mockGroupRegisterDto = GroupRegisterDto(

src/test/kotlin/com/duckbox/controller/GroupControllerTest.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ import com.duckbox.service.GroupService
1818
import com.duckbox.service.SurveyService
1919
import com.duckbox.service.UserService
2020
import com.duckbox.service.VoteService
21+
import com.duckbox.service.ethereum.DIdService
22+
import io.mockk.mockk
23+
import io.mockk.mockkConstructor
2124
import org.assertj.core.api.Assertions
2225
import org.bson.types.ObjectId
2326
import org.junit.jupiter.api.AfterEach
@@ -71,6 +74,8 @@ class GroupControllerTest {
7174
@Autowired
7275
private lateinit var surveyService: SurveyService
7376

77+
private lateinit var mockDidService: DIdService
78+
7479
private lateinit var baseAddress: String
7580

7681
private val mockGroupRegisterDto: GroupRegisterDto = MockDto.mockGroupRegisterDto
@@ -87,6 +92,17 @@ class GroupControllerTest {
8792
userBoxRepository.deleteAll()
8893
voteRepository.deleteAll()
8994
surveyRepository.deleteAll()
95+
mockkConstructor(DIdService::class)
96+
mockDidService = mockk(relaxed = true)
97+
setDidService(mockDidService)
98+
}
99+
100+
// Set DidService
101+
private fun setDidService(didService: DIdService) {
102+
UserService::class.java.getDeclaredField("didService").apply {
103+
isAccessible = true
104+
set(userService, didService)
105+
}
90106
}
91107

92108
fun registerAndLogin(): String {
@@ -101,6 +117,7 @@ class GroupControllerTest {
101117
college = "ku",
102118
department = listOf("computer", "software"),
103119
fcmToken = "temp",
120+
address = "0x11",
104121
))
105122
return userService.login(
106123
LoginRequestDto(email = mockUserEmail, password = "test")
@@ -119,6 +136,7 @@ class GroupControllerTest {
119136
college = "ku",
120137
department = listOf("computer", "software"),
121138
fcmToken = "temp",
139+
address = "0x11",
122140
)
123141
)
124142
}

src/test/kotlin/com/duckbox/controller/SurveyControllerTest.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ import com.duckbox.service.FCMService
2121
import com.duckbox.service.GroupService
2222
import com.duckbox.service.SurveyService
2323
import com.duckbox.service.UserService
24+
import com.duckbox.service.ethereum.DIdService
2425
import io.mockk.mockk
26+
import io.mockk.mockkConstructor
2527
import org.assertj.core.api.Assertions
2628
import org.bson.types.ObjectId
2729
import org.junit.jupiter.api.AfterEach
@@ -78,6 +80,8 @@ class SurveyControllerTest {
7880
@Autowired
7981
private lateinit var restTemplate: TestRestTemplate
8082

83+
private lateinit var mockDidService: DIdService
84+
8185
private var mockFcmService: FCMService = mockk(relaxed = true)
8286

8387
private val mockSurveyRegisterDto: SurveyRegisterDto = MockDto.mockSurveyRegisterDto
@@ -93,6 +97,17 @@ class SurveyControllerTest {
9397
photoRepository.deleteAll()
9498
groupRepository.deleteAll()
9599
setFCMService() // set fcmService to mockFcmService
100+
mockkConstructor(DIdService::class)
101+
mockDidService = mockk(relaxed = true)
102+
setDidService(mockDidService)
103+
}
104+
105+
// Set DidService
106+
private fun setDidService(didService: DIdService) {
107+
UserService::class.java.getDeclaredField("didService").apply {
108+
isAccessible = true
109+
set(userService, didService)
110+
}
96111
}
97112

98113
// Set private fcmService
@@ -115,6 +130,7 @@ class SurveyControllerTest {
115130
college = "ku",
116131
department = listOf("computer", "software"),
117132
fcmToken = "temp",
133+
address = "0x11",
118134
)
119135
)
120136
return userService.login(

src/test/kotlin/com/duckbox/controller/UserControllerTest.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import com.duckbox.errors.exception.NotFoundException
1212
import com.duckbox.errors.exception.UnauthorizedException
1313
import com.duckbox.service.GroupService
1414
import com.duckbox.service.UserService
15+
import com.duckbox.service.ethereum.DIdService
16+
import io.mockk.mockk
17+
import io.mockk.mockkConstructor
1518
import org.assertj.core.api.Assertions.assertThat
1619
import org.bson.types.ObjectId
1720
import org.junit.jupiter.api.AfterEach
@@ -54,6 +57,8 @@ class UserControllerTest {
5457

5558
private lateinit var baseAddress: String
5659

60+
private lateinit var mockDidService: DIdService
61+
5762
private val mockRegisterDto: RegisterDto = MockDto.mockRegisterDto
5863

5964
@BeforeEach
@@ -63,6 +68,17 @@ class UserControllerTest {
6368
userRepository.deleteAll()
6469
userBoxRepository.deleteAll()
6570
groupRepository.deleteAll()
71+
mockkConstructor(DIdService::class)
72+
mockDidService = mockk(relaxed = true)
73+
setDidService(mockDidService)
74+
}
75+
76+
// Set DidService
77+
private fun setDidService(didService: DIdService) {
78+
UserService::class.java.getDeclaredField("didService").apply {
79+
isAccessible = true
80+
set(userService, didService)
81+
}
6682
}
6783

6884
fun registerAndLogin(): String {

src/test/kotlin/com/duckbox/controller/VoteControllerTest.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ import com.duckbox.service.FCMService
2121
import com.duckbox.service.GroupService
2222
import com.duckbox.service.UserService
2323
import com.duckbox.service.VoteService
24+
import com.duckbox.service.ethereum.DIdService
2425
import io.mockk.mockk
26+
import io.mockk.mockkConstructor
2527
import org.assertj.core.api.Assertions.assertThat
2628
import org.bson.types.ObjectId
2729
import org.junit.jupiter.api.AfterEach
@@ -75,6 +77,8 @@ class VoteControllerTest {
7577
@Autowired
7678
private lateinit var restTemplate: TestRestTemplate
7779

80+
private lateinit var mockDidService: DIdService
81+
7882
private var mockFcmService: FCMService = mockk(relaxed = true)
7983

8084
private val mockVoteRegisterDto: VoteRegisterDto = MockDto.mockVoteRegisterDto
@@ -90,6 +94,17 @@ class VoteControllerTest {
9094
photoRepository.deleteAll()
9195
groupRepository.deleteAll()
9296
setFCMService() // set fcmService to mockFcmService
97+
mockkConstructor(DIdService::class)
98+
mockDidService = mockk(relaxed = true)
99+
setDidService(mockDidService)
100+
}
101+
102+
// Set DidService
103+
private fun setDidService(didService: DIdService) {
104+
UserService::class.java.getDeclaredField("didService").apply {
105+
isAccessible = true
106+
set(userService, didService)
107+
}
93108
}
94109

95110
// Set private fcmService
@@ -112,6 +127,7 @@ class VoteControllerTest {
112127
college = "ku",
113128
department = listOf("computer", "software"),
114129
fcmToken = "temp",
130+
address = "0x11",
115131
)
116132
)
117133
return userService.login(

src/test/kotlin/com/duckbox/service/GroupServiceTest.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ import com.duckbox.dto.user.RegisterDto
1717
import com.duckbox.errors.exception.ConflictException
1818
import com.duckbox.errors.exception.ForbiddenException
1919
import com.duckbox.errors.exception.NotFoundException
20+
import com.duckbox.service.ethereum.DIdService
21+
import io.mockk.mockk
22+
import io.mockk.mockkConstructor
2023
import org.junit.jupiter.api.Test
2124
import org.junit.jupiter.api.extension.ExtendWith
2225
import org.springframework.beans.factory.annotation.Autowired
@@ -61,6 +64,7 @@ class GroupServiceTest {
6164
@Autowired
6265
private lateinit var surveyService: SurveyService
6366

67+
private lateinit var mockDidService: DIdService
6468

6569
private val mockGroupRegisterDto: GroupRegisterDto = MockDto.mockGroupRegisterDto
6670
private val mockUserEmail = "email@konkuk.ac.kr"
@@ -76,6 +80,17 @@ class GroupServiceTest {
7680
userBoxRepository.deleteAll()
7781
voteRepository.deleteAll()
7882
surveyRepository.deleteAll()
83+
mockkConstructor(DIdService::class)
84+
mockDidService = mockk(relaxed = true)
85+
setDidService(mockDidService)
86+
}
87+
88+
// Set DidService
89+
private fun setDidService(didService: DIdService) {
90+
UserService::class.java.getDeclaredField("didService").apply {
91+
isAccessible = true
92+
set(userService, didService)
93+
}
7994
}
8095

8196
fun registerMockUser() {
@@ -90,6 +105,7 @@ class GroupServiceTest {
90105
college = "ku",
91106
department = listOf("computer", "software"),
92107
fcmToken = "temp",
108+
address = "0x11",
93109
)
94110
)
95111
}
@@ -106,6 +122,7 @@ class GroupServiceTest {
106122
college = "ku",
107123
department = listOf("computer", "software"),
108124
fcmToken = "temp",
125+
address = "0x11",
109126
)
110127
)
111128
}
@@ -328,6 +345,7 @@ class GroupServiceTest {
328345
college = "ku",
329346
department = listOf("computer", "software"),
330347
fcmToken = "temp",
348+
address = "0x11",
331349
)
332350
)
333351

0 commit comments

Comments
 (0)