5112d37ac52a5a971b6d6e1dadc0857de5f962f2
[sdc.git] /
1 /*
2  * Copyright © 2016-2017 European Support Limited
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.openecomp.sdc.logging.slf4j;
18
19 import static org.testng.Assert.assertEquals;
20
21 import java.util.Collections;
22 import java.util.EnumMap;
23 import java.util.Map;
24 import java.util.UUID;
25 import org.openecomp.sdc.logging.slf4j.SLF4JLoggingServiceProvider.ContextField;
26 import org.openecomp.sdc.logging.spi.LoggingContextService;
27 import org.slf4j.MDC;
28
29 /**
30  * @author evitaliy
31  * @since 08 Mar 18
32  */
33 class ContextPropagationTestHelper {
34
35     private static final Map<ContextField, String> EMPTY_CONTEXT =
36         Collections.unmodifiableMap(new EnumMap<>(ContextField.class));
37
38     static Map<ContextField, String> putUniqueValues(LoggingContextService ctx) {
39
40         Map<ContextField, String> values = new EnumMap<>(ContextField.class);
41
42         String service = UUID.randomUUID().toString();
43         ctx.putServiceName(service);
44         values.put(ContextField.SERVICE_NAME, service);
45
46         String partner = UUID.randomUUID().toString();
47         ctx.putPartnerName(partner);
48         values.put(ContextField.PARTNER_NAME, partner);
49
50         String request = UUID.randomUUID().toString();
51         ctx.putRequestId(request);
52         values.put(ContextField.REQUEST_ID, request);
53
54         return values;
55     }
56
57     static void assertContextFields(Map<ContextField, String> values, String error) {
58
59         for (ContextField f : ContextField.values()) {
60             assertEquals(MDC.get(f.asKey()), values.get(f), error);
61         }
62     }
63
64     static void assertContextEmpty(String error) {
65         assertContextFields(EMPTY_CONTEXT, error);
66     }
67 }