Skip to content

Commit b6d6218

Browse files
committed
Use resourceLoader for workspace files
1 parent bfcc0c8 commit b6d6218

File tree

1 file changed

+38
-26
lines changed

1 file changed

+38
-26
lines changed

workspace/src/integrationTest/kotlin/com/cosmotech/workspace/service/WorkspaceServiceIntegrationTest.kt

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ import com.redis.om.spring.RediSearchIndexer
4242
import io.mockk.every
4343
import io.mockk.junit5.MockKExtension
4444
import io.mockk.mockkStatic
45-
import org.junit.jupiter.api.AfterEach
4645
import java.util.*
4746
import kotlin.test.assertEquals
4847
import kotlin.test.assertNull
4948
import kotlin.test.assertTrue
49+
import org.junit.jupiter.api.AfterEach
5050
import org.junit.jupiter.api.BeforeEach
5151
import org.junit.jupiter.api.Test
5252
import org.junit.jupiter.api.assertDoesNotThrow
@@ -56,7 +56,7 @@ import org.junit.runner.RunWith
5656
import org.slf4j.LoggerFactory
5757
import org.springframework.beans.factory.annotation.Autowired
5858
import org.springframework.boot.test.context.SpringBootTest
59-
import org.springframework.core.io.UrlResource
59+
import org.springframework.core.io.ResourceLoader
6060
import org.springframework.test.context.ActiveProfiles
6161
import org.springframework.test.context.junit.jupiter.SpringExtension
6262
import org.springframework.test.context.junit4.SpringRunner
@@ -81,6 +81,7 @@ class WorkspaceServiceIntegrationTest : CsmS3TestBase() {
8181
@Autowired lateinit var connectorApiService: ConnectorApiService
8282
@Autowired lateinit var datasetApiService: DatasetApiService
8383
@Autowired lateinit var csmPlatformProperties: CsmPlatformProperties
84+
@Autowired lateinit var resourceLoader: ResourceLoader
8485

8586
lateinit var organization: OrganizationCreateRequest
8687
lateinit var solution: SolutionCreateRequest
@@ -94,8 +95,6 @@ class WorkspaceServiceIntegrationTest : CsmS3TestBase() {
9495
lateinit var connectorSaved: Connector
9596
lateinit var datasetSaved: Dataset
9697

97-
val resourceTestFile = this::class.java.getResource("/$fileName")
98-
9998
@BeforeEach
10099
fun setUp() {
101100
mockkStatic("com.cosmotech.api.utils.SecurityUtilsKt")
@@ -126,13 +125,11 @@ class WorkspaceServiceIntegrationTest : CsmS3TestBase() {
126125
}
127126

128127
@AfterEach
129-
fun cleanUp(){
128+
fun cleanUp() {
130129
every { getCurrentAuthenticatedRoles(any()) } returns listOf("Platform.Admin")
131130

132131
val workspaces = workspaceApiService.listWorkspaces(organizationSaved.id, null, null)
133-
workspaces.forEach {
134-
workspaceApiService.deleteWorkspaceFiles(organizationSaved.id, it.id)
135-
}
132+
workspaces.forEach { workspaceApiService.deleteWorkspaceFiles(organizationSaved.id, it.id) }
136133
}
137134

138135
@Test
@@ -164,72 +161,87 @@ class WorkspaceServiceIntegrationTest : CsmS3TestBase() {
164161
}
165162

166163
@Test
167-
fun `test create workspace file`(){
164+
fun `test create workspace file`() {
165+
166+
val resourceTestFile = resourceLoader.getResource("classpath:/$fileName")
168167
every { getCurrentAuthenticatedRoles(any()) } returns listOf("Platform.Admin")
169168

170169
logger.info("should create a workspace file")
171170

172171
var savedFile = WorkspaceFile("")
173172
assertDoesNotThrow {
174-
savedFile = workspaceApiService.createWorkspaceFile(organizationSaved.id, workspaceSaved.id, UrlResource(resourceTestFile!!), true, null)
173+
savedFile =
174+
workspaceApiService.createWorkspaceFile(
175+
organizationSaved.id, workspaceSaved.id, resourceTestFile, true, null)
175176
}
176177

177178
assertEquals(fileName, savedFile.fileName)
178179
}
179180

180181
@Test
181-
fun `test get workspace file`(){
182+
fun `test get workspace file`() {
182183
logger.info("should get a workspace file")
184+
val resourceTestFile = resourceLoader.getResource("classpath:/$fileName")
183185

184-
workspaceApiService.createWorkspaceFile(organizationSaved.id, workspaceSaved.id, UrlResource(resourceTestFile!!), true, null)
185-
assertDoesNotThrow { workspaceApiService.getWorkspaceFile(organizationSaved.id, workspaceSaved.id, fileName) }
186+
workspaceApiService.createWorkspaceFile(
187+
organizationSaved.id, workspaceSaved.id, resourceTestFile, true, null)
186188

187-
val fetchedFile = workspaceApiService.getWorkspaceFile(organizationSaved.id, workspaceSaved.id, fileName)
188-
assertEquals(UrlResource(resourceTestFile!!).file, fetchedFile.file)
189+
val fetchedFile =
190+
workspaceApiService.getWorkspaceFile(organizationSaved.id, workspaceSaved.id, fileName)
191+
val expectedText = resourceTestFile.inputStream.bufferedReader().use { it.readText() }
192+
val retrievedText = fetchedFile.inputStream.bufferedReader().use { it.readText() }
193+
assertEquals(expectedText, retrievedText)
189194
}
190195

191196
@Test
192197
fun `test list workspace files`() {
193198
every { getCurrentAuthenticatedRoles(any()) } returns listOf("Platform.Admin")
194199

195200
logger.info("should list all workspace file")
201+
val resourceTestFile = resourceLoader.getResource("classpath:/$fileName")
196202

197203
var workspaceFiles =
198204
workspaceApiService.listWorkspaceFiles(organizationSaved.id, workspaceSaved.id)
199205
assertTrue(workspaceFiles.isEmpty())
200206

201-
202207
workspaceApiService.createWorkspaceFile(
203-
organizationSaved.id, workspaceSaved.id, UrlResource(resourceTestFile!!), true, null)
208+
organizationSaved.id, workspaceSaved.id, resourceTestFile, true, null)
204209

205210
workspaceFiles = workspaceApiService.listWorkspaceFiles(organizationSaved.id, workspaceSaved.id)
206211
assertEquals(1, workspaceFiles.size)
207212
}
208213

209214
@Test
210-
fun `test delete workspace file`(){
215+
fun `test delete workspace file`() {
211216
logger.info("should delete a workspace file")
217+
val resourceTestFile = resourceLoader.getResource("classpath:/$fileName")
212218

213219
workspaceApiService.createWorkspaceFile(
214-
organizationSaved.id, workspaceSaved.id, UrlResource(resourceTestFile!!), true, null)
220+
organizationSaved.id, workspaceSaved.id, resourceTestFile, true, null)
215221

216-
assertDoesNotThrow { workspaceApiService.deleteWorkspaceFile(organizationSaved.id, workspaceSaved.id, fileName) }
222+
assertDoesNotThrow {
223+
workspaceApiService.deleteWorkspaceFile(organizationSaved.id, workspaceSaved.id, fileName)
224+
}
217225

218-
assertThrows<Exception> { workspaceApiService.getWorkspaceFile(organizationSaved.id, workspaceSaved.id, fileName) }
226+
assertThrows<Exception> {
227+
workspaceApiService.getWorkspaceFile(organizationSaved.id, workspaceSaved.id, fileName)
228+
}
219229
}
220230

221231
@Test
222-
fun `test deleteAll workspace file`(){
232+
fun `test deleteAll workspace file`() {
223233
logger.info("should delete all workspace files")
234+
val resourceTestFile = resourceLoader.getResource("classpath:/$fileName")
224235

225236
workspaceApiService.createWorkspaceFile(
226-
organizationSaved.id, workspaceSaved.id, UrlResource(resourceTestFile!!), true, null)
237+
organizationSaved.id, workspaceSaved.id, resourceTestFile, true, null)
227238
workspaceApiService.createWorkspaceFile(
228-
organizationSaved.id, workspaceSaved.id, UrlResource(resourceTestFile!!), true, null)
239+
organizationSaved.id, workspaceSaved.id, resourceTestFile, true, null)
229240

230-
assertDoesNotThrow { workspaceApiService.deleteWorkspaceFiles(organizationSaved.id, workspaceSaved.id) }
241+
workspaceApiService.deleteWorkspaceFiles(organizationSaved.id, workspaceSaved.id)
231242

232-
assertEquals(0, workspaceApiService.listWorkspaceFiles(organizationSaved.id, workspaceSaved.id).size)
243+
assertEquals(
244+
0, workspaceApiService.listWorkspaceFiles(organizationSaved.id, workspaceSaved.id).size)
233245
}
234246

235247
@Test

0 commit comments

Comments
 (0)