Skip to content

Commit

Permalink
Merge pull request #24 from FIAP-3SOAT-G15/minor-improvements
Browse files Browse the repository at this point in the history
Minor improvements
  • Loading branch information
wellyfrs authored Aug 8, 2024
2 parents 885df9d + 34842ce commit b8e9d92
Show file tree
Hide file tree
Showing 11 changed files with 54 additions and 23 deletions.
1 change: 0 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ services:
DB_NAME: stock
DB_USERNAME: selforder
DB_PASSWORD: self@Order123!
ADMIN_ACCESS_TOKEN: token
ports:
- "8081:8081"
restart: always
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package com.fiap.stock.application.config

import io.swagger.v3.oas.annotations.enums.SecuritySchemeType
import io.swagger.v3.oas.annotations.security.SecurityScheme
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.http.HttpMethod
import org.springframework.security.config.annotation.web.builders.HttpSecurity
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
import org.springframework.security.core.authority.SimpleGrantedAuthority
Expand All @@ -19,6 +19,7 @@ import org.springframework.security.web.SecurityFilterChain
bearerFormat = "JWT",
scheme = "bearer"
)
@ConditionalOnProperty(name = ["security.enable"], havingValue = "true", matchIfMissing = true)
class JWTSecurityConfig {
@Bean
fun securityFilterChain(http: HttpSecurity): SecurityFilterChain {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
{
"properties": [
{
"name": "admin.access-token",
"type": "java.lang.String",
"description": "Description for admin-access-token."
},
{
"name": "payment-provider.mock",
"type": "java.lang.String",
Expand Down Expand Up @@ -34,6 +29,11 @@
"name": "mercadopago.integration.webhookBaseUrl",
"type": "java.lang.String",
"description": "Description for mercadopago.integration.webhookBaseUrl."
},
{
"name": "security.enable",
"type": "java.lang.String",
"description": "Description for security.enable."
}
]
}
10 changes: 10 additions & 0 deletions src/main/resources/application-live.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
security:
enable: true

spring:
security:
oauth2:
resourceserver:
jwt:
issuer-uri: ${COGNITO_ISSUER_URI}
jwk-set-uri: ${COGNITO_JWK_SET_URI}
2 changes: 2 additions & 0 deletions src/main/resources/application-local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
payment-provider:
mock: true
3 changes: 0 additions & 3 deletions src/main/resources/application-test.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
admin:
access-token: token

payment-provider:
mock: true
12 changes: 3 additions & 9 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,9 @@ spring:
non_contextual_creation: true
ddl-auto: validate
globally_quoted_identifiers: true
security:
oauth2:
resourceserver:
jwt:
issuer-uri: https://cognito-idp.us-east-1.amazonaws.com/us-east-1_ygM5FRn7D
jwk-set-uri: https://cognito-idp.us-east-1.amazonaws.com/us-east-1_ygM5FRn7D/.well-known/jwks.json

admin:
access-token: ${ADMIN_ACCESS_TOKEN}

server:
port: 8081

security:
enable: false
2 changes: 2 additions & 0 deletions src/test/kotlin/com/fiap/stock/application/TestAnnotations.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package com.fiap.stock.application

import com.fiap.stock.application.it.PostgreSQLContainerInitializer
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.test.context.ContextConfiguration

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ContextConfiguration(initializers = [PostgreSQLContainerInitializer::class])
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Target(AnnotationTarget.CLASS, AnnotationTarget.FILE)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import org.junit.jupiter.api.Tag
import org.springframework.boot.test.context.SpringBootTest

@CucumberContextConfiguration
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@WithPostgreSQL
@Tag("IntegrationTest")
class IntegrationTest
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.fiap.stock.application.it

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
import org.springframework.context.annotation.Bean
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.web.SecurityFilterChain

@Configuration
@EnableWebSecurity
@ConditionalOnProperty(name = ["security.enable"], havingValue = "false")
class NoOpSecurityConfig {

@Bean
fun securityFilterChain(http: HttpSecurity): SecurityFilterChain {
http
.csrf { csrf ->
csrf.disable()
}
.authorizeHttpRequests { authorize ->
authorize.anyRequest().permitAll()
}

return http.build()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ class PostgreSQLContainerInitializer :
companion object {
private val instance: PostgreSQLContainerInitializer =
PostgreSQLContainerInitializer()
.withDatabaseName("stockdb")
.withUsername("stock")
.withPassword("stock")
.withDatabaseName("database")
.withUsername("database")
.withPassword("database")
.waitingFor(forListeningPort())
}

Expand Down

0 comments on commit b8e9d92

Please sign in to comment.