Skip to content

Commit 0c49f63

Browse files
committed
Fixed JavaDoc and test cases are now complete.
1 parent 8dcc6ee commit 0c49f63

File tree

2 files changed

+68
-29
lines changed

2 files changed

+68
-29
lines changed

modules/jooby-banner/src/main/java/io/jooby/banner/BannerModule.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
* package com.myapp;
3232
*
3333
* {
34-
* use(new Banner());
34+
* install(new BannerModule());
3535
* }
3636
* }</pre>
3737
*
@@ -44,7 +44,7 @@
4444
* package com.myapp;
4545
*
4646
* {
47-
* use(new Banner("my awesome app"));
47+
* install(new BannerModule("my awesome app"));
4848
* }
4949
* }</pre>
5050
*
@@ -57,7 +57,7 @@
5757
* package com.myapp;
5858
*
5959
* {
60-
* use(new Banner("my awesome app").font("slant"));
60+
* install(new BannerModule("my awesome app").font("slant"));
6161
* }
6262
* }</pre>
6363
*

modules/jooby-banner/src/test/java/io/jooby/banner/BannerModuleTest.java

Lines changed: 65 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import static com.github.lalyos.jfiglet.FigletFont.convertOneLine;
1919
import static io.jooby.banner.BannerModule.fontPath;
2020
import static io.jooby.banner.BannerModule.rtrim;
21-
import static org.junit.jupiter.api.Assertions.assertEquals;
21+
import static org.junit.jupiter.api.Assertions.*;
2222
import static org.mockito.ArgumentMatchers.any;
2323
import static org.mockito.ArgumentMatchers.anyString;
2424
import static org.mockito.Mockito.*;
@@ -27,60 +27,99 @@ public class BannerModuleTest {
2727

2828
@Test
2929
public void install() throws Exception {
30-
Map<String, String> map = new HashMap<>();
31-
map.put("application.name", "Jooby");
32-
map.put("application.version", "2.0.0");
33-
34-
Config config = ConfigFactory.parseMap(map);
35-
36-
ServiceRegistry registry = mock(ServiceRegistry.class);
37-
when(registry.put(Mockito.<ServiceKey<String>>any(), Mockito.<Provider<String>>any())).thenReturn(null);
38-
39-
Logger logger = mock(Logger.class);
40-
doNothing().when(logger).info(anyString(), any(), any());
41-
42-
Jooby app = mock(Jooby.class);
43-
when(app.getConfig()).thenReturn(config);
44-
when(app.getServices()).thenReturn(registry);
45-
when(app.getLog()).thenReturn(logger);
46-
when(app.onStarting(any(SneakyThrows.Runnable.class))).thenReturn(app);
30+
Jooby app = setup("Jooby", "2.0.0");
4731

48-
new BannerModule().install(app);
32+
new BannerModule("banner").install(app);
4933

5034
@SuppressWarnings("unchecked")
5135
ArgumentCaptor<ServiceKey<String>> keyCaptor = ArgumentCaptor.forClass(ServiceKey.class);
5236
@SuppressWarnings("unchecked")
5337
ArgumentCaptor<Provider<String>> providerCaptor = ArgumentCaptor.forClass(Provider.class);
54-
verify(registry).put(keyCaptor.capture(), providerCaptor.capture());
38+
verify(app.getServices()).put(keyCaptor.capture(), providerCaptor.capture());
5539

5640
assertEquals(String.class, keyCaptor.getValue().getType());
5741
assertEquals("application.banner", keyCaptor.getValue().getName());
58-
assertEquals(rtrim(convertOneLine(fontPath("speed"), map.get("application.name"))), providerCaptor.getValue().get());
59-
60-
ArgumentCaptor<SneakyThrows.Runnable> runnableCaptor = ArgumentCaptor.forClass(SneakyThrows.Runnable.class);
61-
verify(app).onStarting(runnableCaptor.capture());
42+
assertEquals(rtrim(convertOneLine(fontPath("speed"), "banner")), providerCaptor.getValue().get());
6243

63-
runnableCaptor.getValue().run();
64-
verify(logger).info("\n{} v{}\n", providerCaptor.getValue().get(), map.get("application.version"));
44+
verify(app).onStarting(Mockito.any(SneakyThrows.Runnable.class));
6545
}
6646

6747
@Test
6848
public void trimEnd() throws Exception {
49+
Jooby app = setup("Jooby", "2.0.0");
50+
51+
new BannerModule("banner ").install(app);
6952

53+
@SuppressWarnings("unchecked")
54+
ArgumentCaptor<Provider<String>> providerCaptor = ArgumentCaptor.forClass(Provider.class);
55+
verify(app.getServices()).put(Mockito.<ServiceKey<String>>any(), providerCaptor.capture());
56+
57+
String banner = providerCaptor.getValue().get();
58+
assertFalse(Character.isWhitespace(banner.charAt(banner.length() - 1)));
7059
}
7160

7261
@Test
7362
public void print() throws Exception {
63+
Jooby app = setup("Jooby", "2.0.0");
64+
65+
new BannerModule("banner").install(app);
7466

67+
@SuppressWarnings("unchecked")
68+
ArgumentCaptor<Provider<String>> providerCaptor = ArgumentCaptor.forClass(Provider.class);
69+
verify(app.getServices()).put(Mockito.<ServiceKey<String>>any(), providerCaptor.capture());
70+
71+
ArgumentCaptor<SneakyThrows.Runnable> runnableCaptor = ArgumentCaptor.forClass(SneakyThrows.Runnable.class);
72+
verify(app).onStarting(runnableCaptor.capture());
73+
74+
runnableCaptor.getValue().run();
75+
verify(app.getLog()).info("\n{} v{}\n", providerCaptor.getValue().get(), "2.0.0");
7576
}
7677

7778
@Test
7879
public void font() throws Exception {
80+
Jooby app = setup("Jooby", "2.0.0");
81+
82+
new BannerModule("banner").font("doom").install(app);
83+
84+
@SuppressWarnings("unchecked")
85+
ArgumentCaptor<Provider<String>> providerCaptor = ArgumentCaptor.forClass(Provider.class);
86+
verify(app.getServices()).put(Mockito.<ServiceKey<String>>any(), providerCaptor.capture());
7987

88+
assertEquals(rtrim(convertOneLine(fontPath("doom"), "banner")), providerCaptor.getValue().get());
8089
}
8190

8291
@Test
8392
public void defprint() throws Exception {
93+
Jooby app = setup("Jooby", "2.0.0");
94+
95+
new BannerModule().install(app);
96+
97+
@SuppressWarnings("unchecked")
98+
ArgumentCaptor<Provider<String>> providerCaptor = ArgumentCaptor.forClass(Provider.class);
99+
verify(app.getServices()).put(Mockito.<ServiceKey<String>>any(), providerCaptor.capture());
100+
101+
assertEquals(rtrim(convertOneLine(fontPath("speed"), "Jooby")), providerCaptor.getValue().get());
102+
}
103+
104+
private Jooby setup(String appName, String appVersion) {
105+
Map<String, String> map = new HashMap<>();
106+
map.put("application.name", appName);
107+
map.put("application.version", appVersion);
108+
109+
Config config = ConfigFactory.parseMap(map);
110+
111+
ServiceRegistry registry = mock(ServiceRegistry.class);
112+
when(registry.put(Mockito.<ServiceKey<String>>any(), Mockito.<Provider<String>>any())).thenReturn(null);
113+
114+
Logger logger = mock(Logger.class);
115+
doNothing().when(logger).info(anyString(), any(), any());
116+
117+
Jooby app = mock(Jooby.class);
118+
when(app.getConfig()).thenReturn(config);
119+
when(app.getServices()).thenReturn(registry);
120+
when(app.getLog()).thenReturn(logger);
121+
when(app.onStarting(any(SneakyThrows.Runnable.class))).thenReturn(app);
84122

123+
return app;
85124
}
86125
}

0 commit comments

Comments
 (0)