Skip to content

Commit 5984835

Browse files
committed
test joining with grants
1 parent 2334e25 commit 5984835

File tree

1 file changed

+55
-1
lines changed

1 file changed

+55
-1
lines changed

airbyte-config/persistence/src/test/java/io/airbyte/config/persistence/ConfigRepositoryE2EReadWriteTest.java

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
import static io.airbyte.db.instance.configs.jooq.Tables.ACTOR_CATALOG;
88
import static org.assertj.core.api.Assertions.assertThat;
9-
import static org.junit.jupiter.api.Assertions.*;
9+
import static org.junit.jupiter.api.Assertions.assertEquals;
10+
import static org.junit.jupiter.api.Assertions.assertFalse;
11+
import static org.junit.jupiter.api.Assertions.assertTrue;
1012
import static org.mockito.Mockito.spy;
1113

1214
import io.airbyte.commons.json.Jsons;
@@ -31,6 +33,8 @@
3133
import java.io.IOException;
3234
import java.sql.SQLException;
3335
import java.util.List;
36+
import java.util.Map;
37+
import java.util.Map.Entry;
3438
import java.util.Optional;
3539
import java.util.UUID;
3640
import org.junit.jupiter.api.AfterAll;
@@ -162,10 +166,60 @@ public void testListPublicSourceDefinitions() throws IOException {
162166
assertEquals(List.of(MockData.standardSourceDefinitions().get(0)), actualDefinitions);
163167
}
164168

169+
@Test
170+
public void testSourceDefinitionGrants() throws IOException {
171+
final UUID workspaceId = MockData.standardWorkspaces().get(0).getWorkspaceId();
172+
final StandardSourceDefinition grantableDefinition1 = MockData.standardSourceDefinitions().get(1);
173+
final StandardSourceDefinition grantableDefinition2 = MockData.standardSourceDefinitions().get(2);
174+
final StandardSourceDefinition customDefinition = MockData.standardSourceDefinitions().get(3);
175+
176+
configRepository.writeActorDefinitionWorkspaceGrant(customDefinition.getSourceDefinitionId(), workspaceId);
177+
configRepository.writeActorDefinitionWorkspaceGrant(grantableDefinition1.getSourceDefinitionId(), workspaceId);
178+
final List<StandardSourceDefinition> actualGrantedDefinitions = configRepository
179+
.listGrantedSourceDefinitions(workspaceId, false);
180+
assertThat(actualGrantedDefinitions).hasSameElementsAs(List.of(grantableDefinition1, customDefinition));
181+
182+
final List<Entry<StandardSourceDefinition, Boolean>> actualGrantableDefinitions = configRepository
183+
.listGrantableSourceDefinitions(workspaceId, false);
184+
assertThat(actualGrantableDefinitions).hasSameElementsAs(List.of(
185+
Map.entry(grantableDefinition1, true),
186+
Map.entry(grantableDefinition2, false)));
187+
188+
configRepository.deleteActorDefinitionWorkspaceGrant(customDefinition.getSourceDefinitionId(), workspaceId);
189+
final List<StandardSourceDefinition> actualGrantedDefinitions2 = configRepository
190+
.listGrantedSourceDefinitions(workspaceId, false);
191+
assertEquals(List.of(grantableDefinition1), actualGrantedDefinitions2);
192+
}
193+
165194
@Test
166195
public void testListPublicDestinationDefinitions() throws IOException {
167196
final List<StandardDestinationDefinition> actualDefinitions = configRepository.listPublicDestinationDefinitions(false);
168197
assertEquals(List.of(MockData.standardDestinationDefinitions().get(0)), actualDefinitions);
169198
}
170199

200+
@Test
201+
public void testDestinationDefinitionGrants() throws IOException {
202+
final UUID workspaceId = MockData.standardWorkspaces().get(0).getWorkspaceId();
203+
final StandardDestinationDefinition grantableDefinition1 = MockData.standardDestinationDefinitions().get(1);
204+
final StandardDestinationDefinition grantableDefinition2 = MockData.standardDestinationDefinitions().get(2);
205+
final StandardDestinationDefinition customDefinition = MockData.standardDestinationDefinitions().get(3);
206+
207+
configRepository.writeActorDefinitionWorkspaceGrant(customDefinition.getDestinationDefinitionId(), workspaceId);
208+
configRepository.writeActorDefinitionWorkspaceGrant(grantableDefinition1.getDestinationDefinitionId(), workspaceId);
209+
final List<StandardDestinationDefinition> actualGrantedDefinitions = configRepository
210+
.listGrantedDestinationDefinitions(workspaceId, false);
211+
assertThat(actualGrantedDefinitions).hasSameElementsAs(List.of(grantableDefinition1, customDefinition));
212+
213+
final List<Entry<StandardDestinationDefinition, Boolean>> actualGrantableDefinitions = configRepository
214+
.listGrantableDestinationDefinitions(workspaceId, false);
215+
assertThat(actualGrantableDefinitions).hasSameElementsAs(List.of(
216+
Map.entry(grantableDefinition1, true),
217+
Map.entry(grantableDefinition2, false)));
218+
219+
configRepository.deleteActorDefinitionWorkspaceGrant(customDefinition.getDestinationDefinitionId(), workspaceId);
220+
final List<StandardDestinationDefinition> actualGrantedDefinitions2 = configRepository
221+
.listGrantedDestinationDefinitions(workspaceId, false);
222+
assertEquals(List.of(grantableDefinition1), actualGrantedDefinitions2);
223+
}
224+
171225
}

0 commit comments

Comments
 (0)