use of com.adobe.target.edge.client.ondevice.OnDeviceDecisioningService in project target-java-sdk by adobe.
the class TargetDeliveryAttributesTest method init.
@BeforeEach
@SuppressWarnings("unchecked")
void init() throws IOException, NoSuchFieldException {
Mockito.lenient().doReturn(CompletableFuture.completedFuture(getTestDeliveryResponse())).when(defaultTargetHttpClient).executeAsync(any(Map.class), any(String.class), any(DeliveryRequest.class), any(Class.class));
ClientConfig clientConfig = ClientConfig.builder().client("emeaprod4").organizationId(TEST_ORG_ID).build();
VisitorProvider.init(TEST_ORG_ID);
TelemetryService telemetryService = new TelemetryService(clientConfig);
DefaultTargetService targetService = new DefaultTargetService(clientConfig, telemetryService);
localService = new OnDeviceDecisioningService(clientConfig, targetService, telemetryService);
targetJavaClient = TargetClient.create(clientConfig);
FieldSetter.setField(targetService, targetService.getClass().getDeclaredField("targetHttpClient"), defaultTargetHttpClient);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("targetService"), targetService);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("localService"), localService);
RuleLoader testRuleLoader = TargetTestDeliveryRequestUtils.getTestRuleLoaderFromFile("DECISIONING_PAYLOAD_ATTRIBUTES.json");
OnDeviceDecisioningEvaluator evaluator = new OnDeviceDecisioningEvaluator(testRuleLoader);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("ruleLoader"), testRuleLoader);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("onDeviceDecisioningEvaluator"), evaluator);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("notificationService"), mock(NotificationService.class));
FieldSetter.setField(localService, localService.getClass().getDeclaredField("clusterLocator"), mock(ClusterLocator.class));
ObjectMapper mapper = new JacksonObjectMapper().getMapper();
OnDeviceDecisioningDetailsExecutor decisionHandler = new OnDeviceDecisioningDetailsExecutor(clientConfig, mapper);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("decisionHandler"), decisionHandler);
ParamsCollator specificTimeCollator = TargetTestDeliveryRequestUtils.getSpecificTimeCollator(1582818503000L);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("timeParamsCollator"), specificTimeCollator);
}
use of com.adobe.target.edge.client.ondevice.OnDeviceDecisioningService in project target-java-sdk by adobe.
the class TargetDeliveryAttributesTest method testTargetDeliveryAttributesAllMatches.
@Test
@SuppressWarnings("unchecked")
void testTargetDeliveryAttributesAllMatches() throws IOException, NoSuchFieldException {
String mbox = "allmatches";
ArrayList<String> mboxes = new ArrayList<String>() {
{
add(mbox);
}
};
ClientConfig clientConfig = ClientConfig.builder().client("targettesting").organizationId(TEST_ORG_ID).onDeviceEnvironment("test").defaultDecisioningMethod(DecisioningMethod.ON_DEVICE).onDeviceAllMatchingRulesMboxes(mboxes).build();
TelemetryService telemetryService = new TelemetryService(clientConfig);
DefaultTargetService targetService = new DefaultTargetService(clientConfig, telemetryService);
localService = new OnDeviceDecisioningService(clientConfig, targetService, telemetryService);
fileRuleLoader("DECISIONING_PAYLOAD_ALL_MATCHES.json", localService);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("localService"), localService);
FieldSetter.setField(targetService, targetService.getClass().getDeclaredField("targetHttpClient"), defaultTargetHttpClient);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("targetService"), targetService);
Context context = getLocalContext();
PrefetchRequest prefetchRequest = getMboxPrefetchLocalRequest(mbox);
VisitorId visitorId = new VisitorId().tntId("38734fba-262c-4722-b4a3-ac0a93916873");
TargetDeliveryRequest targetDeliveryRequest = TargetDeliveryRequest.builder().context(context).prefetch(prefetchRequest).id(visitorId).decisioningMethod(DecisioningMethod.ON_DEVICE).build();
Attributes attrs = targetJavaClient.getAttributes(targetDeliveryRequest, mbox);
assertNotNull(attrs);
assertNotNull(attrs.getResponse());
assertEquals(200, attrs.getResponse().getStatus());
verify(defaultTargetHttpClient, atMostOnce()).execute(any(Map.class), any(String.class), any(TargetDeliveryRequest.class), any(Class.class));
assertEquals(2, attrs.getInteger(mbox, "allmatches", 0));
assertEquals("a", attrs.getString(mbox, "allmatches1_exp"));
assertEquals("a", attrs.getString(mbox, "allmatches2_exp"));
}
use of com.adobe.target.edge.client.ondevice.OnDeviceDecisioningService in project target-java-sdk by adobe.
the class TargetDeliveryLocalPropertyTest method init.
@BeforeEach
@SuppressWarnings("unchecked")
void init() throws IOException, NoSuchFieldException {
Mockito.lenient().doReturn(getTestDeliveryResponse()).when(defaultTargetHttpClient).execute(any(Map.class), any(String.class), any(DeliveryRequest.class), any(Class.class));
ClientConfig clientConfig = ClientConfig.builder().organizationId("org").build();
TelemetryService telemetryService = new TelemetryService(clientConfig);
DefaultTargetService targetService = new DefaultTargetService(clientConfig, telemetryService);
OnDeviceDecisioningService localService = new OnDeviceDecisioningService(clientConfig, targetService, telemetryService);
ObjectMapper mapper = new JacksonObjectMapper().getMapper();
OnDeviceDecisioningDetailsExecutor decisionHandler = new OnDeviceDecisioningDetailsExecutor(clientConfig, mapper);
targetJavaClient = TargetClient.create(clientConfig);
FieldSetter.setField(targetService, targetService.getClass().getDeclaredField("targetHttpClient"), defaultTargetHttpClient);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("targetService"), targetService);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("localService"), localService);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("decisionHandler"), decisionHandler);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("notificationService"), mock(NotificationService.class));
FieldSetter.setField(localService, localService.getClass().getDeclaredField("clusterLocator"), mock(ClusterLocator.class));
fileRuleLoader(PROPERTY_TEST_FILE, localService);
}
use of com.adobe.target.edge.client.ondevice.OnDeviceDecisioningService in project target-java-sdk by adobe.
the class NotificationServiceTest method init.
@BeforeEach
@SuppressWarnings("unchecked")
void init() throws NoSuchFieldException {
Mockito.lenient().doReturn(CompletableFuture.completedFuture(getTestDeliveryResponse())).when(defaultTargetHttpClient).executeAsync(any(Map.class), any(String.class), any(DeliveryRequest.class), any(Class.class));
clientConfig = ClientConfig.builder().organizationId(TEST_ORG_ID).telemetryEnabled(false).build();
TelemetryService telemetryService = new TelemetryService(clientConfig);
targetService = new DefaultTargetService(clientConfig, telemetryService);
clusterLocator = new ClusterLocator();
notificationService = new NotificationService(targetService, clientConfig, clusterLocator);
localService = new OnDeviceDecisioningService(clientConfig, targetService, telemetryService);
ObjectMapper mapper = new JacksonObjectMapper().getMapper();
OnDeviceDecisioningDetailsExecutor decisionHandler = new OnDeviceDecisioningDetailsExecutor(clientConfig, mapper);
targetJavaClient = TargetClient.create(clientConfig);
FieldSetter.setField(targetService, targetService.getClass().getDeclaredField("targetHttpClient"), defaultTargetHttpClient);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("targetService"), targetService);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("localService"), localService);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("decisionHandler"), decisionHandler);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("notificationService"), notificationService);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("clusterLocator"), mock(ClusterLocator.class));
}
use of com.adobe.target.edge.client.ondevice.OnDeviceDecisioningService in project target-java-sdk by adobe.
the class TelemetryServiceTest method setup.
@SuppressWarnings("unchecked")
void setup(boolean telemetryEnabled, DecisioningMethod decisioningMethod, String clientName) throws NoSuchFieldException {
VisitorProvider.init(TEST_ORG_ID);
clientConfig = ClientConfig.builder().client(clientName).organizationId(TEST_ORG_ID).defaultDecisioningMethod(decisioningMethod).telemetryEnabled(telemetryEnabled).build();
telemetryServiceSpy = spy(new TelemetryService(clientConfig));
DefaultTargetService targetService = new DefaultTargetService(clientConfig, telemetryServiceSpy);
clusterLocator = new ClusterLocator();
NotificationService notificationService = new NotificationService(targetService, clientConfig, clusterLocator);
FieldSetter.setField(targetService, targetService.getClass().getDeclaredField("targetHttpClient"), defaultTargetHttpClient);
Mockito.lenient().doReturn(CompletableFuture.completedFuture(getTestDeliveryResponse())).when(defaultTargetHttpClient).executeAsync(any(Map.class), any(String.class), any(DeliveryRequest.class), any(Class.class));
Mockito.lenient().doReturn(getTestDeliveryResponse()).when(defaultTargetHttpClient).execute(any(Map.class), any(String.class), any(DeliveryRequest.class), any(Class.class));
localService = new OnDeviceDecisioningService(clientConfig, targetService, telemetryServiceSpy);
ObjectMapper mapper = new JacksonObjectMapper().getMapper();
OnDeviceDecisioningDetailsExecutor decisionHandler = new OnDeviceDecisioningDetailsExecutor(clientConfig, mapper);
targetJavaClient = TargetClient.create(clientConfig);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("targetService"), targetService);
FieldSetter.setField(targetJavaClient, targetJavaClient.getClass().getDeclaredField("localService"), localService);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("decisionHandler"), decisionHandler);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("notificationService"), notificationService);
FieldSetter.setField(localService, localService.getClass().getDeclaredField("clusterLocator"), mock(ClusterLocator.class));
}
Aggregations