2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * Copyright © 2017-2018 European Software Marketing Ltd.
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
21 package org.onap.aai.babel.service;
23 import static org.hamcrest.CoreMatchers.containsString;
24 import static org.hamcrest.CoreMatchers.startsWith;
25 import static org.junit.Assert.assertThat;
27 import java.time.Clock;
28 import java.time.LocalDateTime;
29 import java.time.ZoneOffset;
30 import org.junit.Test;
32 public class TestInfoService {
35 public void testInitialisedInfoService() {
36 String info = new InfoService().getInfo("");
37 assertThat(info, startsWith("Status: Up\n"));
38 assertThat(info, containsString("Started at"));
39 assertThat(info, containsString("total=1"));
43 public void testStatusReport() {
44 InfoService infoService = new InfoService();
45 LocalDateTime startTime = LocalDateTime.now();
46 Clock clock = buildClock(startTime);
48 String info = infoService.statusReport(clock);
49 assertThat(info, containsString("Started at"));
50 assertThat(info, containsString("total=1"));
53 clock = buildClock(startTime.plusDays(1));
54 info = infoService.statusReport(clock);
55 assertThat(info, containsString("Up time 1 day "));
56 assertThat(info, containsString("total=2"));
59 clock = buildClock(startTime.plusDays(5));
60 info = infoService.statusReport(clock);
61 assertThat(info, containsString("Up time 5 days "));
62 assertThat(info, containsString("total=3"));
65 private Clock buildClock(LocalDateTime dateTime) {
66 return Clock.fixed(dateTime.toInstant(ZoneOffset.UTC), Clock.systemUTC().getZone());