Added logger to dsl.
This commit is contained in:
parent
d252d504db
commit
64f342a919
@ -38,10 +38,10 @@ dependencies {
|
||||
* Mockito
|
||||
*/
|
||||
// https://mvnrepository.com/artifact/org.mockito/mockito-core
|
||||
testFixturesApi 'org.mockito:mockito-core:4.11.0'
|
||||
testFixturesApi 'org.mockito:mockito-core:5.1.1'
|
||||
|
||||
// https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter
|
||||
testFixturesApi 'org.mockito:mockito-junit-jupiter:4.11.0'
|
||||
testFixturesApi 'org.mockito:mockito-junit-jupiter:5.1.1'
|
||||
|
||||
/**
|
||||
* Test Logging
|
||||
|
@ -9,6 +9,7 @@ import groovy.text.GStringTemplateEngine
|
||||
import groovy.text.TemplateEngine
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
@EqualsAndHashCode
|
||||
class GspPartRenderer implements PartRenderer {
|
||||
@ -38,6 +39,7 @@ class GspPartRenderer implements PartRenderer {
|
||||
def result = engine.createTemplate(part.text).make([
|
||||
binding: binding,
|
||||
globals: globals,
|
||||
logger: LoggerFactory.getLogger("Part(${ part.path })"),
|
||||
parts: new EmbeddablePartsMap(
|
||||
allParts,
|
||||
siteSpec,
|
||||
|
@ -12,6 +12,7 @@ import groovy.text.GStringTemplateEngine
|
||||
import groovy.text.TemplateEngine
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
@ -32,6 +33,7 @@ class GspSpecialPageRenderer implements SpecialPageRenderer {
|
||||
Collection<Diagnostic> diagnostics = []
|
||||
def result = engine.createTemplate(specialPage.text).make([
|
||||
globals: globals,
|
||||
logger: LoggerFactory.getLogger("SpecialPage(${ specialPage.path })"),
|
||||
parts: new EmbeddablePartsMap(
|
||||
parts,
|
||||
siteSpec,
|
||||
|
@ -13,6 +13,7 @@ import groovy.text.GStringTemplateEngine
|
||||
import groovy.text.TemplateEngine
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
@ -40,6 +41,7 @@ class GspTemplateRenderer implements TemplateRenderer {
|
||||
def result = engine.createTemplate(template.text).make([
|
||||
frontMatter: frontMatter,
|
||||
globals: globals,
|
||||
logger: LoggerFactory.getLogger("Template(${ template.path })"),
|
||||
parts: new EmbeddablePartsMap(parts, siteSpec, globals, onDiagnostics, embeddableText, text.path, targetPath),
|
||||
path: text.path,
|
||||
siteSpec: siteSpec,
|
||||
|
@ -3,13 +3,23 @@ package com.jessebrault.ssg.part
|
||||
import com.jessebrault.ssg.SiteSpec
|
||||
import com.jessebrault.ssg.text.EmbeddableText
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.MockedStatic
|
||||
import org.mockito.junit.jupiter.MockitoExtension
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
import static com.jessebrault.ssg.testutil.DiagnosticsUtil.assertEmptyDiagnostics
|
||||
import static com.jessebrault.ssg.testutil.DiagnosticsUtil.getDiagnosticsMessageSupplier
|
||||
import static com.jessebrault.ssg.text.TextMocks.renderableText
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue
|
||||
import static org.mockito.ArgumentMatchers.anyString
|
||||
import static org.mockito.Mockito.mockStatic
|
||||
import static org.mockito.Mockito.verify
|
||||
|
||||
@ExtendWith(MockitoExtension)
|
||||
class GspPartRendererTests {
|
||||
|
||||
private final PartRenderer renderer = new GspPartRenderer()
|
||||
@ -188,4 +198,25 @@ class GspPartRendererTests {
|
||||
assertEquals('https://test.com', r.v2)
|
||||
}
|
||||
|
||||
@Test
|
||||
void loggerAvailable(@Mock Logger logger) {
|
||||
try (MockedStatic<LoggerFactory> loggerFactory = mockStatic(LoggerFactory)) {
|
||||
loggerFactory.when { LoggerFactory.getLogger(anyString()) }
|
||||
.thenReturn(logger)
|
||||
def part = new Part('', null, '<% logger.info "Hello, World!" %>')
|
||||
def r = this.renderer.render(
|
||||
part,
|
||||
[:],
|
||||
new SiteSpec('', ''),
|
||||
[:],
|
||||
null,
|
||||
[part],
|
||||
'',
|
||||
''
|
||||
)
|
||||
assertEmptyDiagnostics(r)
|
||||
verify(logger).info('Hello, World!')
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -8,12 +8,18 @@ import com.jessebrault.ssg.text.*
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.MockedStatic
|
||||
import org.mockito.junit.jupiter.MockitoExtension
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
import static com.jessebrault.ssg.testutil.DiagnosticsUtil.assertEmptyDiagnostics
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals
|
||||
import static org.mockito.ArgumentMatchers.any
|
||||
import static org.mockito.ArgumentMatchers.anyString
|
||||
import static org.mockito.ArgumentMatchers.argThat
|
||||
import static org.mockito.Mockito.mockStatic
|
||||
import static org.mockito.Mockito.verify
|
||||
import static org.mockito.Mockito.when
|
||||
|
||||
@ExtendWith(MockitoExtension)
|
||||
@ -219,4 +225,18 @@ class GspSpecialPageRendererTests {
|
||||
assertEquals('https://test.com', r.v2)
|
||||
}
|
||||
|
||||
@Test
|
||||
void loggerAvailable(@Mock Logger logger) {
|
||||
try (MockedStatic<LoggerFactory> loggerFactory = mockStatic(LoggerFactory)) {
|
||||
loggerFactory.when { LoggerFactory.getLogger(anyString()) }
|
||||
.thenReturn(logger)
|
||||
def specialPage = new SpecialPage('<% logger.info "Hello, World!" %>', '', null)
|
||||
def r = this.renderer.render(
|
||||
specialPage, [], [], new SiteSpec('', ''), [:], ''
|
||||
)
|
||||
assertEmptyDiagnostics(r)
|
||||
verify(logger).info('Hello, World!')
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -8,7 +8,10 @@ import com.jessebrault.ssg.text.FrontMatter
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.MockedStatic
|
||||
import org.mockito.junit.jupiter.MockitoExtension
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
import static com.jessebrault.ssg.testutil.DiagnosticsUtil.assertEmptyDiagnostics
|
||||
import static com.jessebrault.ssg.testutil.DiagnosticsUtil.getDiagnosticsMessageSupplier
|
||||
@ -16,7 +19,10 @@ import static com.jessebrault.ssg.text.TextMocks.*
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue
|
||||
import static org.mockito.ArgumentMatchers.any
|
||||
import static org.mockito.ArgumentMatchers.anyString
|
||||
import static org.mockito.ArgumentMatchers.argThat
|
||||
import static org.mockito.Mockito.mockStatic
|
||||
import static org.mockito.Mockito.verify
|
||||
import static org.mockito.Mockito.when
|
||||
|
||||
@ExtendWith(MockitoExtension)
|
||||
@ -245,4 +251,24 @@ class GspTemplateRendererTests {
|
||||
assertEquals('https://test.com', r.v2)
|
||||
}
|
||||
|
||||
@Test
|
||||
void loggerAvailable(@Mock Logger logger) {
|
||||
try (MockedStatic<LoggerFactory> loggerFactory = mockStatic(LoggerFactory)) {
|
||||
loggerFactory.when(() -> LoggerFactory.getLogger(anyString()))
|
||||
.thenReturn(logger)
|
||||
def template = new Template('<% logger.info "Hello, World!" %>', null, null)
|
||||
def r = this.renderer.render(
|
||||
template,
|
||||
new FrontMatter(null, [:]),
|
||||
blankText(),
|
||||
[],
|
||||
new SiteSpec('', ''),
|
||||
[:],
|
||||
''
|
||||
)
|
||||
assertEmptyDiagnostics(r)
|
||||
verify(logger).info('Hello, World!')
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user