diff --git a/src/main/java/io/codeka/gaia/dashboard/controller/IndexController.java b/src/main/java/io/codeka/gaia/dashboard/controller/IndexController.java index ab75438d9..da8e4fa0a 100644 --- a/src/main/java/io/codeka/gaia/dashboard/controller/IndexController.java +++ b/src/main/java/io/codeka/gaia/dashboard/controller/IndexController.java @@ -32,12 +32,12 @@ public String index(Model model, User user, Team userTeam){ toUpdateStackCount = this.stackRepository.countStacksByState(StackState.TO_UPDATE); } else if(userTeam != null){ - moduleCount = this.moduleRepository.countByAuthorizedTeamsContainingOrCreatedBy(userTeam, user); + moduleCount = this.moduleRepository.countByAuthorizedTeamsContainingOrModuleMetadataCreatedBy(userTeam, user); runningStackCount = stackRepository.countStacksByStateAndOwnerTeam(StackState.RUNNING, userTeam); toUpdateStackCount = stackRepository.countStacksByStateAndOwnerTeam(StackState.TO_UPDATE, userTeam); } else { - moduleCount = this.moduleRepository.countByCreatedBy(user); + moduleCount = this.moduleRepository.countByModuleMetadataCreatedBy(user); runningStackCount = stackRepository.countStacksByStateAndCreatedBy(StackState.RUNNING, user); toUpdateStackCount = stackRepository.countStacksByStateAndCreatedBy(StackState.TO_UPDATE, user); } diff --git a/src/main/java/io/codeka/gaia/modules/bo/ModuleMetadata.kt b/src/main/java/io/codeka/gaia/modules/bo/ModuleMetadata.kt new file mode 100644 index 000000000..cf64040d2 --- /dev/null +++ b/src/main/java/io/codeka/gaia/modules/bo/ModuleMetadata.kt @@ -0,0 +1,12 @@ +package io.codeka.gaia.modules.bo + +import io.codeka.gaia.teams.User +import org.springframework.data.mongodb.core.mapping.DBRef +import java.time.LocalDateTime + +data class ModuleMetadata @JvmOverloads constructor( + val createdAt: LocalDateTime = LocalDateTime.now(), + @field:DBRef var createdBy: User? = null, + var updatedAt: LocalDateTime? = null, + @field:DBRef var updatedBy: User? = null +) \ No newline at end of file diff --git a/src/main/java/io/codeka/gaia/modules/bo/TerraformModule.java b/src/main/java/io/codeka/gaia/modules/bo/TerraformModule.java index 2bfdf4edf..d0230e022 100644 --- a/src/main/java/io/codeka/gaia/modules/bo/TerraformModule.java +++ b/src/main/java/io/codeka/gaia/modules/bo/TerraformModule.java @@ -8,7 +8,6 @@ import javax.validation.Valid; import javax.validation.constraints.NotBlank; import java.math.BigDecimal; -import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -41,15 +40,7 @@ public class TerraformModule { private String estimatedMonthlyCostDescription; - @DBRef - private User createdBy; - - private LocalDateTime createdAt = LocalDateTime.now(); - - @DBRef - private User updatedBy; - - private LocalDateTime updatedAt; + private ModuleMetadata moduleMetadata = new ModuleMetadata(); private RegistryDetails registryDetails; @@ -126,7 +117,7 @@ public void setAuthorizedTeams(List authorizedTeams) { } public boolean isAuthorizedFor(User user) { - return user.isAdmin() || this.authorizedTeams.contains(user.getTeam()) || user.equals(this.createdBy); + return user.isAdmin() || this.authorizedTeams.contains(user.getTeam()) || user.equals(this.moduleMetadata.getCreatedBy()); } public BigDecimal getEstimatedMonthlyCost() { @@ -145,14 +136,6 @@ public void setEstimatedMonthlyCostDescription(String estimatedMonthlyCostDescri this.estimatedMonthlyCostDescription = estimatedMonthlyCostDescription; } - public User getCreatedBy() { - return createdBy; - } - - public void setCreatedBy(User createdBy) { - this.createdBy = createdBy; - } - public RegistryDetails getRegistryDetails() { return registryDetails; } @@ -161,28 +144,12 @@ public void setRegistryDetails(RegistryDetails registryDetails) { this.registryDetails = registryDetails; } - public LocalDateTime getCreatedAt() { - return createdAt; - } - - public void setCreatedAt(LocalDateTime createdAt) { - this.createdAt = createdAt; - } - - public User getUpdatedBy() { - return updatedBy; - } - - public void setUpdatedBy(User updatedBy) { - this.updatedBy = updatedBy; - } - - public LocalDateTime getUpdatedAt() { - return updatedAt; + public ModuleMetadata getModuleMetadata() { + return moduleMetadata; } - public void setUpdatedAt(LocalDateTime updatedAt) { - this.updatedAt = updatedAt; + public void setModuleMetadata(ModuleMetadata moduleMetadata) { + this.moduleMetadata = moduleMetadata; } } diff --git a/src/main/java/io/codeka/gaia/modules/controller/ModuleRestController.java b/src/main/java/io/codeka/gaia/modules/controller/ModuleRestController.java index 0242d2e52..485a03ecf 100644 --- a/src/main/java/io/codeka/gaia/modules/controller/ModuleRestController.java +++ b/src/main/java/io/codeka/gaia/modules/controller/ModuleRestController.java @@ -34,9 +34,9 @@ public List findAllModules(User user){ return moduleRepository.findAll(); } if(user.getTeam() != null){ - return moduleRepository.findAllByCreatedByOrAuthorizedTeamsContaining(user, user.getTeam()); + return moduleRepository.findAllByModuleMetadataCreatedByOrAuthorizedTeamsContaining(user, user.getTeam()); } - return moduleRepository.findAllByCreatedBy(user); + return moduleRepository.findAllByModuleMetadataCreatedBy(user); } @GetMapping("/{id}") @@ -52,7 +52,7 @@ public TerraformModule findModule(@PathVariable String id, User user){ @ResponseStatus(HttpStatus.CREATED) public TerraformModule createModule(@RequestBody TerraformModule module, User user){ module.setId(UUID.randomUUID().toString()); - module.setCreatedBy(user); + module.getModuleMetadata().setCreatedBy(user); return moduleRepository.save(module); } @@ -63,8 +63,8 @@ public TerraformModule saveModule(@PathVariable String id, @RequestBody @Valid T throw new ModuleForbiddenException(); } - module.setUpdatedBy(user); - module.setUpdatedAt(LocalDateTime.now()); + module.getModuleMetadata().setUpdatedBy(user); + module.getModuleMetadata().setUpdatedAt(LocalDateTime.now()); return moduleRepository.save(module); } diff --git a/src/main/java/io/codeka/gaia/modules/repository/TerraformModuleRepository.java b/src/main/java/io/codeka/gaia/modules/repository/TerraformModuleRepository.java index effdd518b..9fb91f2d5 100644 --- a/src/main/java/io/codeka/gaia/modules/repository/TerraformModuleRepository.java +++ b/src/main/java/io/codeka/gaia/modules/repository/TerraformModuleRepository.java @@ -12,17 +12,17 @@ @Repository public interface TerraformModuleRepository extends MongoRepository { - int countByCreatedBy(User user); + int countByModuleMetadataCreatedBy(User user); int countByAuthorizedTeamsContaining(Team team); - int countByAuthorizedTeamsContainingOrCreatedBy(Team team, User user); + int countByAuthorizedTeamsContainingOrModuleMetadataCreatedBy(Team team, User user); - List findAllByAuthorizedTeamsContainingOrCreatedBy(Team team, User user); + List findAllByAuthorizedTeamsContainingOrModuleMetadata_CreatedBy(Team team, User user); Optional findByIdAndAuthorizedTeamsContaining(String id, Team team); - List findAllByCreatedByOrAuthorizedTeamsContaining(User user, Team team); + List findAllByModuleMetadataCreatedByOrAuthorizedTeamsContaining(User user, Team team); - List findAllByCreatedBy(User user); + List findAllByModuleMetadataCreatedBy(User user); } diff --git a/src/main/java/io/codeka/gaia/registries/RegistryRawContent.kt b/src/main/java/io/codeka/gaia/registries/RegistryRawContent.kt index c4fea31d4..63e0caa1d 100644 --- a/src/main/java/io/codeka/gaia/registries/RegistryRawContent.kt +++ b/src/main/java/io/codeka/gaia/registries/RegistryRawContent.kt @@ -17,7 +17,7 @@ abstract class RegistryRawContent(private val registryType: RegistryType, privat // no project details, impossible to load a readme, so returning empty module.registryDetails ?: return Optional.empty() - val token = module.createdBy?.oAuth2User?.token; + val token = module.moduleMetadata.createdBy?.oAuth2User?.token; val headers = HttpHeaders() if(token != null) { diff --git a/src/main/java/io/codeka/gaia/registries/controller/GithubRegistryController.kt b/src/main/java/io/codeka/gaia/registries/controller/GithubRegistryController.kt index 778433ee1..35ed85783 100644 --- a/src/main/java/io/codeka/gaia/registries/controller/GithubRegistryController.kt +++ b/src/main/java/io/codeka/gaia/registries/controller/GithubRegistryController.kt @@ -1,6 +1,7 @@ package io.codeka.gaia.registries.controller import io.codeka.gaia.hcl.HclParser +import io.codeka.gaia.modules.bo.ModuleMetadata import io.codeka.gaia.modules.bo.TerraformModule import io.codeka.gaia.modules.repository.TerraformCLIRepository import io.codeka.gaia.modules.repository.TerraformModuleRepository @@ -42,7 +43,7 @@ class GithubRegistryController( module.cliVersion = cliRepository.listCLIVersion().first() module.registryDetails = RegistryDetails(RegistryType.GITHUB, githubRepository.fullName) - module.createdBy = user + module.moduleMetadata = ModuleMetadata(createdBy = user) // get variables val variablesFile = githubRegistryApi.getFileContent(user, "$owner/$repo", "variables.tf") diff --git a/src/main/java/io/codeka/gaia/registries/controller/GitlabRegistryController.kt b/src/main/java/io/codeka/gaia/registries/controller/GitlabRegistryController.kt index 10d474dde..5d95cf844 100644 --- a/src/main/java/io/codeka/gaia/registries/controller/GitlabRegistryController.kt +++ b/src/main/java/io/codeka/gaia/registries/controller/GitlabRegistryController.kt @@ -42,7 +42,7 @@ class GitlabRegistryController( module.cliVersion = cliRepository.listCLIVersion().first() module.registryDetails = RegistryDetails(RegistryType.GITLAB, gitlabRepository.id) - module.createdBy = user + module.moduleMetadata.createdBy = user // get variables val variablesFile = gitlabRegistryApi.getFileContent(user, projectId, "variables.tf") diff --git a/src/main/java/io/codeka/gaia/runner/StackCommandBuilder.java b/src/main/java/io/codeka/gaia/runner/StackCommandBuilder.java index 84aca7b85..f5042e1c3 100644 --- a/src/main/java/io/codeka/gaia/runner/StackCommandBuilder.java +++ b/src/main/java/io/codeka/gaia/runner/StackCommandBuilder.java @@ -37,7 +37,7 @@ public class StackCommandBuilder { */ private String evalGitRepositoryUrl(TerraformModule module) { var url = module.getGitRepositoryUrl(); - var data = module.getCreatedBy().getOAuth2User(); + var data = module.getModuleMetadata().getCreatedBy().getOAuth2User(); if (data == null) { return url; } diff --git a/src/main/resources/templates/module_description.html b/src/main/resources/templates/module_description.html index 957b5bf2b..2842210ea 100644 --- a/src/main/resources/templates/module_description.html +++ b/src/main/resources/templates/module_description.html @@ -57,8 +57,8 @@

{{description}}

diff --git a/src/main/resources/templates/modules.html b/src/main/resources/templates/modules.html index 1dc8a6113..77dddd842 100644 --- a/src/main/resources/templates/modules.html +++ b/src/main/resources/templates/modules.html @@ -84,7 +84,7 @@ template: "#modules-template", methods: { isAuthorized(module){ - return module.createdBy.username === this.$user.username + return module.moduleMetadata.createdBy.username === this.$user.username || this.$user.username === 'admin' } } diff --git a/src/test/java/io/codeka/gaia/dashboard/controller/IndexControllerTest.java b/src/test/java/io/codeka/gaia/dashboard/controller/IndexControllerTest.java index d439e9c12..1927f25a3 100644 --- a/src/test/java/io/codeka/gaia/dashboard/controller/IndexControllerTest.java +++ b/src/test/java/io/codeka/gaia/dashboard/controller/IndexControllerTest.java @@ -39,14 +39,14 @@ class IndexControllerTest { @Test void index_shouldShowModuleCount(){ // given - when(terraformModuleRepository.countByAuthorizedTeamsContainingOrCreatedBy(team, user)).thenReturn(12); + when(terraformModuleRepository.countByAuthorizedTeamsContainingOrModuleMetadataCreatedBy(team, user)).thenReturn(12); // when var result = indexController.index(model, user, team); // then assertEquals("index", result); - verify(terraformModuleRepository).countByAuthorizedTeamsContainingOrCreatedBy(team, user); + verify(terraformModuleRepository).countByAuthorizedTeamsContainingOrModuleMetadataCreatedBy(team, user); verify(model).addAttribute("moduleCount", 12L); } @@ -103,7 +103,7 @@ void index_shouldShowStacksCount_forAdmin(){ @Test void usersWIthNoTeam_shouldSeeTheirCreatedModuleOrStacks(){ // given - doReturn(3).when(terraformModuleRepository).countByCreatedBy(user); + doReturn(3).when(terraformModuleRepository).countByModuleMetadataCreatedBy(user); doReturn(1).when(stackRepository).countStacksByStateAndCreatedBy(StackState.RUNNING, user); doReturn(2).when(stackRepository).countStacksByStateAndCreatedBy(StackState.TO_UPDATE, user); diff --git a/src/test/java/io/codeka/gaia/modules/bo/TerraformModuleTest.java b/src/test/java/io/codeka/gaia/modules/bo/TerraformModuleTest.java index 510ebec55..182b501cc 100644 --- a/src/test/java/io/codeka/gaia/modules/bo/TerraformModuleTest.java +++ b/src/test/java/io/codeka/gaia/modules/bo/TerraformModuleTest.java @@ -31,7 +31,7 @@ void module_shouldBeAuthorized_forTheModuleCreator(){ var daniel = new User("Daniel Jackson", sg1); var module = new TerraformModule(); - module.setCreatedBy(daniel); + module.getModuleMetadata().setCreatedBy(daniel); // when var authorized = module.isAuthorizedFor(daniel); diff --git a/src/test/java/io/codeka/gaia/modules/controller/ModuleRestControllerTest.java b/src/test/java/io/codeka/gaia/modules/controller/ModuleRestControllerTest.java index 104616e6c..779422998 100644 --- a/src/test/java/io/codeka/gaia/modules/controller/ModuleRestControllerTest.java +++ b/src/test/java/io/codeka/gaia/modules/controller/ModuleRestControllerTest.java @@ -58,14 +58,14 @@ void findAll_shouldReturnAllModules_forAdmin(){ @Test void findAll_shouldReturnAuthorizedModules_forUserTeam_andOwnedModules(){ // given - when(moduleRepository.findAllByCreatedByOrAuthorizedTeamsContaining(bob, bobsTeam)).thenReturn(List.of(new TerraformModule())); + when(moduleRepository.findAllByModuleMetadataCreatedByOrAuthorizedTeamsContaining(bob, bobsTeam)).thenReturn(List.of(new TerraformModule())); // when var modules = moduleRestController.findAllModules(bob); // then assertThat(modules).hasSize(1); - verify(moduleRepository).findAllByCreatedByOrAuthorizedTeamsContaining(bob, bobsTeam); + verify(moduleRepository).findAllByModuleMetadataCreatedByOrAuthorizedTeamsContaining(bob, bobsTeam); } @Test @@ -74,7 +74,7 @@ void findAll_shouldReturnOwnedModules_forUserWithNoTeam(){ var modules = moduleRestController.findAllModules(john); // then - verify(moduleRepository).findAllByCreatedBy(john); + verify(moduleRepository).findAllByModuleMetadataCreatedBy(john); } @Test @@ -93,7 +93,7 @@ void findById_shouldReturnModule_forAdmin(){ void findById_shouldReturnOwnedModule_forUserWithNoTeam(){ // given var ownedModule = new TerraformModule(); - ownedModule.setCreatedBy(john); + ownedModule.getModuleMetadata().setCreatedBy(john); when(moduleRepository.findById("12")).thenReturn(Optional.of(ownedModule)); // when @@ -143,8 +143,8 @@ void findById_shouldThrowForbiddenModule_forUnauthorizedUsers(){ @Test void save_shouldSaveTheModule_whenTheUserIsAuthorized(){ // given - var module = mock(TerraformModule.class); - when(module.isAuthorizedFor(bob)).thenReturn(true); + var module = new TerraformModule(); + module.getModuleMetadata().setCreatedBy(bob); when(moduleRepository.findById("12")).thenReturn(Optional.of(module)); // when @@ -158,8 +158,8 @@ void save_shouldSaveTheModule_whenTheUserIsAuthorized(){ @Test void save_shouldSaveTheModule_forTheAdminUser(){ // given - var module = mock(TerraformModule.class); - when(module.isAuthorizedFor(admin)).thenReturn(true); + var module = new TerraformModule(); + module.getModuleMetadata().setCreatedBy(admin); when(moduleRepository.findById("12")).thenReturn(Optional.of(module)); // when @@ -191,23 +191,23 @@ void createModule_shouldSaveTheModule_forTheGivenUser(){ // then verify(moduleRepository).save(module); - assertThat(module.getCreatedBy()).isEqualTo(bob); + assertThat(module.getModuleMetadata().getCreatedBy()).isEqualTo(bob); assertThat(module.getId()).isNotBlank(); } @Test void updateModule_shouldSetUpdatedMetadata(){ // given - var module = mock(TerraformModule.class); - when(module.isAuthorizedFor(bob)).thenReturn(true); + var module = new TerraformModule(); + module.getModuleMetadata().setCreatedBy(bob); when(moduleRepository.findById("12")).thenReturn(Optional.of(module)); // when moduleRestController.saveModule("12", module, bob); // then - verify(module).setUpdatedAt(any(LocalDateTime.class)); - verify(module).setUpdatedBy(bob); + assertThat(module.getModuleMetadata().getUpdatedAt()).isEqualToIgnoringMinutes(LocalDateTime.now()); + assertThat(module.getModuleMetadata().getUpdatedBy()).isEqualTo(bob); } } \ No newline at end of file diff --git a/src/test/java/io/codeka/gaia/modules/repository/TerraformModuleRepositoryIT.java b/src/test/java/io/codeka/gaia/modules/repository/TerraformModuleRepositoryIT.java index b4589a0dd..7b94bf3be 100644 --- a/src/test/java/io/codeka/gaia/modules/repository/TerraformModuleRepositoryIT.java +++ b/src/test/java/io/codeka/gaia/modules/repository/TerraformModuleRepositoryIT.java @@ -50,12 +50,12 @@ void setUp() { module1 = new TerraformModule(); module1.setId("Module 1"); module1.setAuthorizedTeams(List.of(team1)); - module1.setCreatedBy(bob); + module1.getModuleMetadata().setCreatedBy(bob); module2 = new TerraformModule(); module2.setId("Module 2"); module2.setAuthorizedTeams(List.of(team1, team2)); - module2.setCreatedBy(bob); + module2.getModuleMetadata().setCreatedBy(bob); terraformModuleRepository.deleteAll(); terraformModuleRepository.saveAll(List.of(module1, module2)); @@ -63,16 +63,23 @@ void setUp() { @Test void team1Users_shouldHaveAccessToModule1And2(){ - var modules = terraformModuleRepository.findAllByAuthorizedTeamsContainingOrCreatedBy(team1, null); + var modules = terraformModuleRepository.findAllByAuthorizedTeamsContainingOrModuleMetadata_CreatedBy(team1, null); assertThat(modules).hasSize(2); } @Test void team2Users_shouldHaveAccessToModule2(){ - var modules = terraformModuleRepository.findAllByAuthorizedTeamsContainingOrCreatedBy(team2, null); + var modules = terraformModuleRepository.findAllByAuthorizedTeamsContainingOrModuleMetadata_CreatedBy(team2, null); assertThat(modules).hasSize(1); } + @Test + void bob_shouldSeeItsModules(){ + var modules = terraformModuleRepository.findAllByModuleMetadataCreatedBy(bob); + + assertThat(modules).hasSize(2); + } + } \ No newline at end of file diff --git a/src/test/java/io/codeka/gaia/registries/controller/GithubRegistryControllerIT.kt b/src/test/java/io/codeka/gaia/registries/controller/GithubRegistryControllerIT.kt index ecf811c33..e6c199370 100644 --- a/src/test/java/io/codeka/gaia/registries/controller/GithubRegistryControllerIT.kt +++ b/src/test/java/io/codeka/gaia/registries/controller/GithubRegistryControllerIT.kt @@ -109,8 +109,8 @@ class GithubRegistryControllerIT{ assertThat(importedModule.id).isNotBlank() assertThat(importedModule.name).isEqualTo("selmak/terraform-docker-mongo") - assertThat(importedModule.createdBy).isEqualTo(selmak) - assertThat(importedModule.createdAt).isEqualToIgnoringSeconds(LocalDateTime.now()) + assertThat(importedModule.moduleMetadata.createdBy).isEqualTo(selmak) + assertThat(importedModule.moduleMetadata.createdAt).isEqualToIgnoringSeconds(LocalDateTime.now()) assertThat(importedModule.gitRepositoryUrl).isEqualTo("https://github.com/selmak/terraform-docker-mongo") assertThat(importedModule.registryDetails).isEqualTo(RegistryDetails(RegistryType.GITHUB, "selmak/terraform-docker-mongo")) diff --git a/src/test/java/io/codeka/gaia/registries/controller/GithubRegistryControllerTest.kt b/src/test/java/io/codeka/gaia/registries/controller/GithubRegistryControllerTest.kt index 374522691..6c247dc18 100644 --- a/src/test/java/io/codeka/gaia/registries/controller/GithubRegistryControllerTest.kt +++ b/src/test/java/io/codeka/gaia/registries/controller/GithubRegistryControllerTest.kt @@ -83,7 +83,7 @@ class GithubRegistryControllerTest{ assertThat(module.registryDetails.projectId).isEqualTo("juwit/terraform-docker-mongo") assertThat(module.cliVersion).isEqualTo("1.12.8") - assertThat(module.createdBy).isEqualTo(user) + assertThat(module.moduleMetadata.createdBy).isEqualTo(user) assertThat(module.variables).containsExactly(Variable("dummy")) diff --git a/src/test/java/io/codeka/gaia/registries/controller/GitlabRegistryControllerIT.kt b/src/test/java/io/codeka/gaia/registries/controller/GitlabRegistryControllerIT.kt index 657bac708..1dff520a6 100644 --- a/src/test/java/io/codeka/gaia/registries/controller/GitlabRegistryControllerIT.kt +++ b/src/test/java/io/codeka/gaia/registries/controller/GitlabRegistryControllerIT.kt @@ -104,8 +104,8 @@ class GitlabRegistryControllerIT{ assertThat(importedModule.id).isNotBlank() assertThat(importedModule.name).isEqualTo("selmak/terraform-docker-mongo") - assertThat(importedModule.createdBy).isEqualTo(selmak) - assertThat(importedModule.createdAt).isEqualToIgnoringSeconds(LocalDateTime.now()) + assertThat(importedModule.moduleMetadata.createdBy).isEqualTo(selmak) + assertThat(importedModule.moduleMetadata.createdAt).isEqualToIgnoringSeconds(LocalDateTime.now()) assertThat(importedModule.gitRepositoryUrl).isEqualTo("https://gitlab.com/selmak/terraform-docker-mongo") assertThat(importedModule.registryDetails).isEqualTo(RegistryDetails(RegistryType.GITLAB, "16181047")) diff --git a/src/test/java/io/codeka/gaia/registries/controller/GitlabRegistryControllerTest.kt b/src/test/java/io/codeka/gaia/registries/controller/GitlabRegistryControllerTest.kt index 261ce225e..b1eb99ac7 100644 --- a/src/test/java/io/codeka/gaia/registries/controller/GitlabRegistryControllerTest.kt +++ b/src/test/java/io/codeka/gaia/registries/controller/GitlabRegistryControllerTest.kt @@ -81,7 +81,7 @@ class GitlabRegistryControllerTest{ assertThat(module.registryDetails.projectId).isEqualTo("15689") assertThat(module.cliVersion).isEqualTo("1.12.8") - assertThat(module.createdBy).isEqualTo(user) + assertThat(module.moduleMetadata.createdBy).isEqualTo(user) assertThat(module.variables).containsExactly(Variable("dummy")) diff --git a/src/test/java/io/codeka/gaia/registries/github/GitHubRawContentTest.java b/src/test/java/io/codeka/gaia/registries/github/GitHubRawContentTest.java index 11818025b..2d3190919 100644 --- a/src/test/java/io/codeka/gaia/registries/github/GitHubRawContentTest.java +++ b/src/test/java/io/codeka/gaia/registries/github/GitHubRawContentTest.java @@ -57,7 +57,7 @@ void getReadmeContent_shouldCallTheApi_andServeDecodedContent(){ var jack = new User("Jack", null); jack.setOAuth2User(new OAuth2User("GITHUB","TOKENSTRING", null)); - module.setCreatedBy(jack); + module.getModuleMetadata().setCreatedBy(jack); var requestCaptor = ArgumentCaptor.forClass(HttpEntity.class); @@ -87,7 +87,7 @@ void getReadmeContent_shouldCallTheApiWithoutAuth_ifNoToken_andServeDecodedConte module.setRegistryDetails(new RegistryDetails(RegistryType.GITHUB, "Apophis/Chulak")); var jack = new User("Jack", null); - module.setCreatedBy(jack); + module.getModuleMetadata().setCreatedBy(jack); var requestCaptor = ArgumentCaptor.forClass(HttpEntity.class); @@ -157,7 +157,7 @@ void getReadmeContent_shouldReturnEmpty_whenReadmeDoesntExists(){ var jack = new User("Jack", null); jack.setOAuth2User(new OAuth2User("GITHUB","TOKENSTRING", null)); - module.setCreatedBy(jack); + module.getModuleMetadata().setCreatedBy(jack); var requestCaptor = ArgumentCaptor.forClass(HttpEntity.class); diff --git a/src/test/java/io/codeka/gaia/registries/gitlab/GitLabRawContentTest.java b/src/test/java/io/codeka/gaia/registries/gitlab/GitLabRawContentTest.java index c14ae4df4..69aad8b46 100644 --- a/src/test/java/io/codeka/gaia/registries/gitlab/GitLabRawContentTest.java +++ b/src/test/java/io/codeka/gaia/registries/gitlab/GitLabRawContentTest.java @@ -57,7 +57,7 @@ void getReadmeContent_shouldCallTheApi_andServeDecodedContent(){ var jack = new User("Jack", null); jack.setOAuth2User(new OAuth2User("GITLAB","TOKENSTRING", null)); - module.setCreatedBy(jack); + module.getModuleMetadata().setCreatedBy(jack); var requestCaptor = ArgumentCaptor.forClass(HttpEntity.class); @@ -100,7 +100,7 @@ void getReadmeContent_shouldReturnEmpty_whenReadmeDoesntExists(){ var jack = new User("Jack", null); jack.setOAuth2User(new OAuth2User("GITLAB","TOKENSTRING", null)); - module.setCreatedBy(jack); + module.getModuleMetadata().setCreatedBy(jack); var requestCaptor = ArgumentCaptor.forClass(HttpEntity.class); diff --git a/src/test/java/io/codeka/gaia/runner/StackCommandBuilderTest.java b/src/test/java/io/codeka/gaia/runner/StackCommandBuilderTest.java index 81cc31eb1..a3d7748d0 100644 --- a/src/test/java/io/codeka/gaia/runner/StackCommandBuilderTest.java +++ b/src/test/java/io/codeka/gaia/runner/StackCommandBuilderTest.java @@ -483,7 +483,7 @@ private TerraformModule moduleWithDirectory() { variable.setDefaultValue("defaultValue"); module.setVariables(List.of(variable)); - module.setCreatedBy(new User("test_user", null)); + module.getModuleMetadata().setCreatedBy(new User("test_user", null)); return module; } @@ -497,7 +497,7 @@ private TerraformModule moduleWithoutDirectory() { variable.setDefaultValue("defaultValue"); module.setVariables(List.of(variable)); - module.setCreatedBy(new User("test_user", null)); + module.getModuleMetadata().setCreatedBy(new User("test_user", null)); return module; } @@ -514,7 +514,7 @@ private TerraformModule moduleWithAccessToken() { var user = new User("test_user", null); var oAuth2User = new OAuth2User("test_provider", "test_token", null); user.setOAuth2User(oAuth2User); - module.setCreatedBy(user); + module.getModuleMetadata().setCreatedBy(user); return module; } diff --git a/src/test/resources/db/20_module.js b/src/test/resources/db/20_module.js index e8941750f..8b7a354d9 100644 --- a/src/test/resources/db/20_module.js +++ b/src/test/resources/db/20_module.js @@ -10,7 +10,9 @@ gaia.terraformModule.insert([ "gitBranch": "master", "cliVersion": "0.11.14", "authorizedTeams": [{"$ref": "team", "$id": "Ze Team"}], - "createdBy": {"$ref": "user", "$id": "admin"}, + "moduleMetadata": { + "createdBy": {"$ref": "user", "$id": "admin"} + }, "estimatedMonthlyCost": 0.99, "estimatedMonthlyCostDescription": "Kamoulox", "variables": [ @@ -37,7 +39,9 @@ gaia.terraformModule.insert([ "gitBranch": "master", "cliVersion": "0.11.14", "authorizedTeams": [{"$ref": "team", "$id": "Not Ze Team"}], - "createdBy": {"$ref": "user", "$id": "admin"}, + "moduleMetadata": { + "createdBy": {"$ref": "user", "$id": "admin"} + }, "estimatedMonthlyCost": 9.99, "estimatedMonthlyCostDescription": "Not Ze Team! Not Ze Team!", "variables": [] @@ -51,7 +55,9 @@ gaia.terraformModule.insert([ "gitBranch": "master", "cliVersion": "0.11.14", "authorizedTeams": [{"$ref": "team", "$id": "Ze Team"}], - "createdBy": {"$ref": "user", "$id": "admin"}, + "moduleMetadata": { + "createdBy": {"$ref": "user", "$id": "admin"} + }, "estimatedMonthlyCost": 0.99, "estimatedMonthlyCostDescription": "Kamoulox", "variables": [