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