Skip to content

Commit

Permalink
Refactored system
Browse files Browse the repository at this point in the history
  • Loading branch information
5h15h4k1n9 committed Mar 8, 2023
1 parent a5e9fc0 commit 7335463
Show file tree
Hide file tree
Showing 16 changed files with 80 additions and 38 deletions.
8 changes: 4 additions & 4 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {

val jacocoExclude = listOf(
"**/configuration/**",
"**/entity/**",
"**/enum/**",
"**/repository/**",
"**/service/**",
"**/entities/**",
"**/enums/**",
"**/repositories/**",
"**/services/**",
"**/*Application*"
)

Expand Down
7 changes: 0 additions & 7 deletions src/main/kotlin/server/enum/Id.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package server
package trik.testsys

import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package server.configuration
package trik.testsys.gradingsystem.configuration

import org.springframework.context.annotation.Configuration
import org.springframework.security.config.annotation.web.builders.HttpSecurity
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter


@Configuration
@EnableWebSecurity
class Configuration : WebSecurityConfigurerAdapter() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package server.controller
package trik.testsys.gradingsystem.controllers

import org.springframework.web.multipart.MultipartFile

import server.enum.FilePostfixes
import server.enum.Paths
import trik.testsys.gradingsystem.enums.FilePostfixes
import trik.testsys.gradingsystem.enums.Paths

import java.io.BufferedOutputStream
import java.io.File
import java.io.FileOutputStream


class FileUploader(private val file: MultipartFile, private val submissionId: Long) {

fun upload(): Boolean {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package server.controller
package trik.testsys.gradingsystem.controllers

import server.service.SubmissionService
import server.enum.*
import trik.testsys.gradingsystem.services.SubmissionService
import trik.testsys.gradingsystem.enums.*

import org.springframework.beans.factory.annotation.Autowired
import org.springframework.core.io.InputStreamResource
Expand All @@ -18,6 +18,7 @@ import java.io.FileInputStream
import com.beust.klaxon.JsonArray
import com.beust.klaxon.JsonObject


@RequestMapping("/v2/grading-system/submissions")
@RestController
class SubmissionController {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package server.entity
package trik.testsys.gradingsystem.entities

import com.beust.klaxon.JsonObject

import org.springframework.boot.context.properties.bind.Name

import server.enum.Status
import trik.testsys.gradingsystem.enums.Status

import javax.persistence.*


@Entity
@Table(name = "SUBMISSIONS")
class Submission(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package server.enum
package trik.testsys.gradingsystem.enums

enum class FilePostfixes(val text: String) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package server.enum
package trik.testsys.gradingsystem.enums

import com.beust.klaxon.JsonObject


object Jsons {

val thereIsNoSubmissionJson = JsonObject(
Expand All @@ -15,7 +16,7 @@ object Jsons {
val serverErrorJson = JsonObject(
mapOf(
"code" to 500,
"error_type" to "server",
"error_type" to "trik/testsys/gradingsystem",
"message" to "Something on server went wrong."
)
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
package server.enum
package trik.testsys.gradingsystem.enums


enum class Paths(val text: String) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package server.enum
package trik.testsys.gradingsystem.enums

import com.fasterxml.jackson.annotation.JsonFormat
import com.fasterxml.jackson.annotation.JsonValue


@JsonFormat(shape = JsonFormat.Shape.NUMBER)
enum class Status(val code: Int) {
QUEUED(100),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
package server.enum
package trik.testsys.gradingsystem.enums


enum class TRIKCommands(val command: String) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package server.repository
package trik.testsys.gradingsystem.repositories

import server.entity.Submission
import trik.testsys.gradingsystem.entities.Submission

import org.springframework.data.repository.CrudRepository
import org.springframework.stereotype.Repository


@Repository
interface SubmissionRepository : CrudRepository<Submission, String> {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package server.service
package trik.testsys.gradingsystem.services

import com.beust.klaxon.Klaxon

import server.entity.Submission
import server.repository.SubmissionRepository
import server.enum.*
import trik.testsys.gradingsystem.entities.Submission
import trik.testsys.gradingsystem.repositories.SubmissionRepository
import trik.testsys.gradingsystem.enums.*

import org.slf4j.Logger
import org.slf4j.LoggerFactory
Expand All @@ -21,6 +21,7 @@ import java.time.format.DateTimeFormatter
import java.util.concurrent.Executor
import java.util.concurrent.TimeUnit


@Service
@EnableAsync
class SubmissionService {
Expand Down
10 changes: 5 additions & 5 deletions src/test/kotlin/controller/SubmissionControllerTest.kt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package controller

import server.Application
import server.entity.Submission
import server.enum.Jsons
import server.enum.Status
import server.service.SubmissionService
import trik.testsys.Application
import trik.testsys.gradingsystem.entities.Submission
import trik.testsys.gradingsystem.enums.Jsons
import trik.testsys.gradingsystem.enums.Status
import trik.testsys.gradingsystem.services.SubmissionService

import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.Nested
Expand Down
39 changes: 39 additions & 0 deletions src/test/kotlin/service/SubmissionServiceTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package service

import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.Test
import org.springframework.boot.test.context.SpringBootTest
import org.mockito.Mockito
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.mock.mockito.MockBean

import trik.testsys.Application
import trik.testsys.gradingsystem.entities.Submission
import trik.testsys.gradingsystem.repositories.SubmissionRepository
import trik.testsys.gradingsystem.services.SubmissionService

@SpringBootTest(classes = [Application::class])
class SubmissionServiceTest {

@Autowired
private lateinit var submissionService: SubmissionService

@MockBean
private lateinit var submissionRepository: SubmissionRepository

@Test
fun `getSubmissionById should return null if submission with such id doesn't exist`() {
Mockito.`when`(submissionRepository.findSubmissionById(1)).thenReturn(null)

assertNull(submissionService.getSubmissionOrNull(1))
}

@Test
fun `getSubmissionById should return existing submission`() {
val expectedSubmission = Submission("task_name", "id", "01.11.1212")

Mockito.`when`(submissionRepository.findSubmissionById(1)).thenReturn(expectedSubmission)

assertEquals(expectedSubmission, submissionService.getSubmissionOrNull(1))
}
}

0 comments on commit 7335463

Please sign in to comment.