summaryrefslogtreecommitdiffstats
path: root/examples/examples-myfirstpolicy/src/site-docs/adoc/fragments/042-s2-test-policy.adoc
blob: 285d54e8016e3b31fe3893e0da099ca5a2f78983 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
//
// ============LICENSE_START=======================================================
//  Copyright (C) 2016-2018 Ericsson. All rights reserved.
//  Modifications Copyright (C) 2020 Nordix Foundation.
// ================================================================================
// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
//
// SPDX-License-Identifier: CC-BY-4.0
// ============LICENSE_END=========================================================
//
// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
//

=== Test Policy Step 2

To start a new APEX Engine you can use the following configuration.
In a full APEX installation you can find this configuration in `$APEX_HOME/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json`.
Note, this has changed from the configuration file in Step 1 to enable the `JAVASCRIPT` executor for our new 'Task Selection Logic'.

.JSON to load and execute _My First Policy_, read input JSON events from `stdin`, and emit output events to `stdout`
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/config/myfirstpolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json[configuration file]
----

To test the policy try paste the following events into the console as the APEX engine executes. Note, all tests from Step 1 will still work perfectly since none of those events originate from a branch with `branch_ID` between `1000` and `2000`. The 'Task Selection Logic' will therefore pick the `MorningBoozeCheck` task as expected, and will therefore give the same results.

.Inputs and Outputs when testing _My First Policy_
[width="100%",options="header",cols="3a,5a,3d"]
|====================
| Input Event (JSON) | Output Event (JSON) | comment
|
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/events/MyFirstPolicy/1/EventIn_BoozeItem_084106GMT.json[Input (`JSON`)]
----
|
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/events/MyFirstPolicy/1/EventOut_BoozeItem_084106GMT.json[Output (`JSON`)]
----
| Request to buy alcohol item (`item_ID=1249`) at _08:41:06 GMT_ on _Monday, 02 January 2017_.

Sale is not authorized. Uses the `MorningBoozeCheck` task.

Note this test is copied from Step 1 above, and demonstrates that the original `MorningBoozeCheck` task is executed.

|
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/events/MyFirstPolicy/2/EventIn_BoozeItem_101433CET_thurs.json[Input (`JSON`)]
----
|
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/events/MyFirstPolicy/2/EventOut_BoozeItem_101433CET_thurs.json[Output (`JSON`)]
----
| Request to buy alcohol (`item_ID=1047`) at _10:14:33_ on _Thursday, 22 December 2016_.

Sale is not authorized. Uses the `MorningBoozeCheckAlt1` task.

|
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/events/MyFirstPolicy/2/EventIn_BoozeItem_171937CET_sun.json[Input (`JSON`)]
----
|
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/events/MyFirstPolicy/2/EventOut_BoozeItem_171937CET_sun.json[Output (`JSON`)]
----
| Request to buy alcohol (`item_ID=1443`) at _17:19:37_ on _Sunday, 18 December 2016_.

Sale is not authorized. Uses the `MorningBoozeCheckAlt1` task.

|
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/events/MyFirstPolicy/2/EventIn_NonBoozeItem_111309CET_mon.json[Input (`JSON`)]
----
|
[source,json,options="nowrap"]
----
include::{adsite-examples-myfirstpolicy-dir}/main/resources/examples/events/MyFirstPolicy/2/EventOut_NonBoozeItem_111309CET_mon.json[Output (`JSON`)]
----
| Request to buy non-alcoholic item (`item_ID=5321`) at _11:13:09_ on _Monday, 2 January 2017_.

Sale is authorized. Uses the `MorningBoozeCheckAlt1` task.

|====================