Skip to content

Commit

Permalink
#280: post-review changes, refactoring simplification, removing old u…
Browse files Browse the repository at this point in the history
…nused endpoint and DTOs/aliases
  • Loading branch information
lsulak committed Oct 3, 2024
1 parent 0cdc465 commit 9b344b5
Show file tree
Hide file tree
Showing 41 changed files with 157 additions and 629 deletions.
6 changes: 3 additions & 3 deletions agent/src/main/scala/za/co/absa/atum/agent/AtumContext.scala
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ class AtumContext private[agent] (
*
* @return the current additional data
*/
def currentAdditionalData: InitialAdditionalDataDTO = {
def currentAdditionalData: AdditionalData = {
additionalData
}

Expand Down Expand Up @@ -199,7 +199,7 @@ class AtumContext private[agent] (
atumPartitions: AtumPartitions = atumPartitions,
agent: AtumAgent = agent,
measures: Set[AtumMeasure] = measures,
additionalData: InitialAdditionalDataDTO = additionalData
additionalData: AdditionalData = additionalData
): AtumContext = {
new AtumContext(atumPartitions, agent, measures, additionalData)
}
Expand All @@ -210,7 +210,7 @@ object AtumContext {
* Type alias for Atum partitions.
*/
type AtumPartitions = ListMap[String, String]
type AdditionalData = InitialAdditionalDataDTO
type AdditionalData = Map[String, Option[String]]

/**
* Object contains helper methods to work with Atum partitions.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,8 @@ import sttp.client3._
import sttp.model.Uri
import sttp.client3.okhttp.OkHttpSyncBackend
import za.co.absa.atum.agent.exception.AtumAgentException.HttpException
import za.co.absa.atum.model.dto
import za.co.absa.atum.model.dto._
import za.co.absa.atum.model.envelopes.SuccessResponse.SingleSuccessResponse
import za.co.absa.atum.model.utils.DTOBase64Encoder.encodeDTOToBase64
import za.co.absa.atum.model.utils.JsonSyntaxExtensions._


Expand Down Expand Up @@ -63,7 +61,7 @@ class HttpDispatcher(config: Config) extends Dispatcher(config) with Logging {
*/

private[dispatcher] def getPartitioningId(partitioning: PartitioningDTO): Long = {
val encodedPartitioning = encodeDTOToBase64(partitioning)
val encodedPartitioning = partitioning.asBase64EncodedJsonString
val request = commonAtumRequest.get(getPartitioningIdEndpoint.addParam("partitioning", encodedPartitioning))

val response = backend.send(request)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package za.co.absa.atum.database.runs
import za.co.absa.balta.DBTestSuite
import za.co.absa.balta.classes.JsonBString

class GetPartitioningAdditionalDataIntegrationTests extends DBTestSuite{
class GetPartitioningAdditionalDataIntegrationTests extends DBTestSuite {

private val fncGetPartitioningAdditionalData = "runs.get_partitioning_additional_data"

Expand Down Expand Up @@ -88,19 +88,21 @@ class GetPartitioningAdditionalDataIntegrationTests extends DBTestSuite{
)

function(fncGetPartitioningAdditionalData)
.setParam("i_partitioning", partitioning1)
.setParam("i_partitioning_id", fkPartitioning1)
.execute { queryResult =>
val results = queryResult.next()
assert(results.getInt("status").contains(11))
assert(results.getString("status_text").contains("OK"))
assert(results.getString("ad_name").contains("ad_1"))
assert(results.getString("ad_value").contains("This is the additional data for Joseph"))
assert(results.getString("ad_author").contains("Joseph"))

val results2 = queryResult.next()
assert(results2.getInt("status").contains(11))
assert(results2.getString("status_text").contains("OK"))
assert(results2.getString("ad_name").contains("ad_2"))
assert(results2.getString("ad_value").contains("This is the additional data for Joseph"))
assert(results2.getString("ad_author").contains("Joseph"))

assert(!queryResult.hasNext)
}
Expand All @@ -124,8 +126,11 @@ class GetPartitioningAdditionalDataIntegrationTests extends DBTestSuite{
val fkPartitioning: Long = table("runs.partitionings").fieldValue("partitioning", partitioning2, "id_partitioning").get.get

function(fncGetPartitioningAdditionalData)
.setParam("i_partitioning", partitioning2)
.setParam("i_partitioning_id", fkPartitioning)
.execute { queryResult =>
val result = queryResult.next()
assert(result.getInt("status").contains(16))
assert(result.getString("status_text").contains("No additional data found"))
assert(!queryResult.hasNext)
}

Expand All @@ -135,20 +140,8 @@ class GetPartitioningAdditionalDataIntegrationTests extends DBTestSuite{
}

test("Get partitioning additional data should return error status code on non existing partitioning") {
val partitioning = JsonBString(
"""
|{
| "version": 1,
| "keys": ["key1"],
| "keysToValuesMap": {
| "key1": "value1"
| }
|}
|""".stripMargin
)

function(fncGetPartitioningAdditionalData)
.setParam("i_partitioning", partitioning)
.setParam("i_partitioning_id", 0L)
.execute { queryResult =>
val results = queryResult.next()
assert(results.getInt("status").contains(41))
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import io.circe._
case class AtumContextDTO(
partitioning: PartitioningDTO,
measures: Set[MeasureDTO] = Set.empty,
additionalData: InitialAdditionalDataDTO = Map.empty
additionalData: Map[String, Option[String]] = Map.empty
)

object AtumContextDTO {
Expand Down
11 changes: 0 additions & 11 deletions model/src/main/scala/za/co/absa/atum/model/dto/package.scala
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,7 @@

package za.co.absa.atum.model

import io.circe._

package object dto {
type PartitioningDTO = Seq[PartitionDTO]
type InitialAdditionalDataDTO = Map[String, Option[String]]

// Todo. This implicit definition should not be defined here, so it is to be addressed in Ticket #221
// Implicit encoders and decoders for AdditionalDataDTO
implicit val decodeAdditionalDataDTO: Decoder[InitialAdditionalDataDTO] = Decoder.decodeMap[String, Option[String]]
implicit val encodeAdditionalDataDTO: Encoder[InitialAdditionalDataDTO] = Encoder.encodeMap[String, Option[String]]

// Implicit encoders and decoders for PartitioningDTO
implicit val decodePartitioningDTO: Decoder[PartitioningDTO] = Decoder.decodeSeq[PartitionDTO]
implicit val encodePartitioningDTO: Encoder[PartitioningDTO] = Encoder.encodeSeq[PartitionDTO]
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package za.co.absa.atum.model.envelopes

case class StatusResponse(status: String, message: String)
case class StatusResponse private (status: String, message: String)

object StatusResponse {

Expand All @@ -25,7 +25,7 @@ object StatusResponse {
implicit val encoder: io.circe.Encoder[StatusResponse] = deriveEncoder
implicit val decoder: io.circe.Decoder[StatusResponse] = deriveDecoder

def up: StatusResponse = {
lazy val up: StatusResponse = {
StatusResponse(
status = "UP",
message = "Atum server is up and running"
Expand Down
Loading

0 comments on commit 9b344b5

Please sign in to comment.