Skip to content

Commit 0828eb7

Browse files
committed
[backend] feat(multitenancy): adding builtin connectors for new tenants (#3505)
1 parent 8e51dcd commit 0828eb7

3 files changed

Lines changed: 11 additions & 12 deletions

File tree

openaev-api/src/test/java/io/openaev/rest/inject/service/SimulationInjectServiceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ void given_injectBelongsToSimulation_should_returnTeams() {
102102
TeamComposer.Composer teamWrapper =
103103
teamComposer.forTeam(TeamFixture.createTeamWithName(null));
104104
teamWrapper.persist();
105-
injectInA.setTeams(List.of(teamWrapper.get()));
105+
injectInA.setTeams(new java.util.ArrayList<>(List.of(teamWrapper.get())));
106106
injectRepository.save(injectInA);
107107

108108
// -- ACT --

openaev-api/src/test/java/io/openaev/rest/inject_expectation/InjectExpectationServiceTest.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package io.openaev.rest.inject_expectation;
22

33
import static io.openaev.expectation.ExpectationPropertiesConfig.DEFAULT_TECHNICAL_EXPECTATION_EXPIRATION_TIME;
4-
import static io.openaev.integration.impl.injectors.openaev.OpenaevInjectorIntegration.OPENAEV_INJECTOR_ID;
5-
import static io.openaev.integration.impl.injectors.openaev.OpenaevInjectorIntegration.OPENAEV_INJECTOR_NAME;
64
import static io.openaev.utils.fixtures.ExpectationFixture.createDetectionExpectations;
75
import static io.openaev.utils.fixtures.ExpectationFixture.createPreventionExpectations;
86
import static java.util.Collections.emptyList;
@@ -17,7 +15,6 @@
1715
import io.openaev.service.InjectExpectationService;
1816
import io.openaev.utils.fixtures.*;
1917
import io.openaev.utils.fixtures.composers.*;
20-
import jakarta.persistence.EntityManager;
2118
import java.util.List;
2219
import java.util.Map;
2320
import org.junit.jupiter.api.*;
@@ -30,14 +27,13 @@
3027
class InjectExpectationServiceTest extends IntegrationTest {
3128

3229
private static final String INJECTION_NAME = "AMSI Bypass - AMSI InitFailed";
33-
private static final String INJECTOR_TYPE = "openaev_implant";
3430

3531
// Saved entities for test setup
3632
@Autowired private InjectComposer injectComposer;
3733
@Autowired private InjectExpectationComposer injectExpectationComposer;
3834
@Autowired private AgentComposer agentComposer;
3935
@Autowired private EndpointComposer endpointComposer;
40-
@Autowired private EntityManager entityManager;
36+
@Autowired private InjectorFixture injectorFixture;
4137

4238
@Autowired private InjectExpectationRepository injectExpectationRepository;
4339
@Autowired private InjectorContractRepository injectorContractRepository;
@@ -58,14 +54,13 @@ class InjectExpectationServiceTest extends IntegrationTest {
5854
void beforeAll() throws JsonProcessingException {
5955
InjectorContract injectorContract =
6056
InjectorContractFixture.createInjectorContract(Map.of("en", INJECTION_NAME));
61-
savedInjector =
62-
injectorRepository.save(
63-
InjectorFixture.createInjector(
64-
OPENAEV_INJECTOR_ID, OPENAEV_INJECTOR_NAME, INJECTOR_TYPE));
57+
58+
savedInjector = injectorFixture.getWellKnownOaevImplantInjector();
6559
injectorContract.addInjector(savedInjector);
6660

6761
savedInjectorContract = injectorContractRepository.save(injectorContract);
6862
savedInjector.getContracts().add(savedInjectorContract);
63+
savedInjector.setNewEntity(false);
6964
injectorRepository.save(savedInjector);
7065
savedAsset = assetRepository.save(AssetFixture.createDefaultAsset("asset name"));
7166
collectorComposer.forCollector(CollectorFixture.createDefaultCollector("FAKE")).persist();

openaev-api/src/test/java/io/openaev/utils/fixtures/InjectorFixture.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.openaev.utils.fixtures;
22

3+
import io.openaev.aop.BypassRls;
34
import io.openaev.context.TenantContext;
45
import io.openaev.database.model.Injector;
56
import io.openaev.database.repository.InjectorRepository;
@@ -70,15 +71,18 @@ private Injector getWellKnownInjector(
7071
// ensure the injector is marked for payloads
7172
// some tests not running in a transaction may flip this
7273
injector.setPayloads(isPayload);
73-
injectorRepository.save(injector);
74-
return injector;
74+
return injectorRepository.save(injector);
7575
}
7676

77+
@BypassRls
78+
@org.springframework.transaction.annotation.Transactional
7779
public Injector getWellKnownOaevImplantInjector() {
7880
return getWellKnownInjector(
7981
OpenAEVImplantContract.TYPE, openaevInjectorIntegrationFactory, true);
8082
}
8183

84+
@BypassRls
85+
@org.springframework.transaction.annotation.Transactional
8286
public Injector getWellKnownEmailInjector(boolean isPayload) {
8387
return getWellKnownInjector(EmailContract.TYPE, emailInjectorIntegrationFactory, isPayload);
8488
}

0 commit comments

Comments
 (0)