Skip to content

Commit db04c8a

Browse files
refactor(retrofit2): refactor the code to align with the retrofit2 upgrade of fiat-api
1 parent f327686 commit db04c8a

File tree

5 files changed

+8
-3
lines changed

5 files changed

+8
-3
lines changed

orca-web/orca-web.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ dependencies {
9494
testImplementation("io.strikt:strikt-core")
9595
testImplementation("io.mockk:mockk")
9696
testImplementation("org.apache.groovy:groovy-json")
97+
testImplementation ("com.squareup.retrofit2:retrofit-mock")
9798
}
9899

99100
test {

orca-web/src/main/groovy/com/netflix/spinnaker/orca/controllers/OperationsController.groovy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import com.netflix.spinnaker.fiat.shared.FiatService
2323
import com.netflix.spinnaker.fiat.shared.FiatStatus
2424
import com.netflix.spinnaker.kork.exceptions.ConfigurationException
2525
import com.netflix.spinnaker.kork.exceptions.SpinnakerException
26+
import com.netflix.spinnaker.kork.retrofit.Retrofit2SyncCall
2627
import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerHttpException
2728
import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerServerException
2829
import com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution
@@ -390,7 +391,7 @@ class OperationsController {
390391
def userPermissionRoles = [new Role.View(new Role("anonymous"))] as Set<Role.View>
391392
try {
392393
String user = AuthenticatedRequest.getSpinnakerUser().orElse("anonymous")
393-
UserPermission.View userPermission = fiatService.getUserPermission(user)
394+
UserPermission.View userPermission = Retrofit2SyncCall.execute(fiatService.getUserPermission(user))
394395
userPermissionRoles = userPermission.roles
395396
} catch (Exception e) {
396397
log.error("Unable to determine roles for current user, falling back to 'anonymous'", e)

orca-web/src/test/groovy/com/netflix/spinnaker/orca/controllers/OperationsControllerSpec.groovy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import org.springframework.http.HttpHeaders
4848
import org.springframework.http.HttpMethod
4949
import org.springframework.http.MediaType
5050
import org.springframework.test.web.servlet.setup.MockMvcBuilders
51+
import retrofit2.mock.Calls
5152
import rx.Observable
5253
import spock.lang.Specification
5354
import spock.lang.Subject
@@ -682,7 +683,7 @@ class OperationsControllerSpec extends Specification {
682683
def role = new Role().setName("some-role")
683684
def permission = new UserPermission().setId("foo").setAccounts([account] as Set).setRoles([role] as Set)
684685

685-
fiatService.getUserPermission(*_) >> permission.getView()
686+
fiatService.getUserPermission(*_) >> Calls.response(permission.getView())
686687

687688
when:
688689
def preconfiguredWebhooks = controller.preconfiguredWebhooks()

orca-webhook/orca-webhook.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ dependencies {
2121
implementation(project(":orca-core"))
2222
implementation(project(":orca-api"))
2323
implementation("io.spinnaker.kork:kork-core")
24+
implementation("io.spinnaker.kork:kork-retrofit")
2425
implementation("io.spinnaker.kork:kork-web")
2526
implementation("org.springframework.boot:spring-boot-autoconfigure")
2627
compileOnly("org.projectlombok:lombok")

orca-webhook/src/main/java/com/netflix/spinnaker/orca/webhook/pipeline/PreconfiguredWebhookStage.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import com.netflix.spinnaker.fiat.shared.FiatService;
2121
import com.netflix.spinnaker.kork.exceptions.SystemException;
22+
import com.netflix.spinnaker.kork.retrofit.Retrofit2SyncCall;
2223
import com.netflix.spinnaker.orca.api.pipeline.graph.TaskNode;
2324
import com.netflix.spinnaker.orca.api.pipeline.models.StageExecution;
2425
import com.netflix.spinnaker.orca.webhook.config.WebhookProperties.PreconfiguredWebhook;
@@ -70,7 +71,7 @@ public void taskGraph(@Nonnull StageExecution stage, @Nonnull TaskNode.Builder b
7071
var permissions = preconfiguredWebhook.getPermissions();
7172
if (permissions != null && !permissions.isEmpty()) {
7273
String user = AuthenticatedRequest.getSpinnakerUser().orElse("anonymous");
73-
var userPermission = fiatService.getUserPermission(user);
74+
var userPermission = Retrofit2SyncCall.execute(fiatService.getUserPermission(user));
7475

7576
boolean isAllowed = preconfiguredWebhook.isAllowed("WRITE", userPermission.getRoles());
7677
if (!isAllowed) {

0 commit comments

Comments
 (0)