Port some integration tests to new test setup

The method I'm currently using (if other want to help) is:

* Add fmt.Println(b.DumpTxtar()) after the Build step
* Add that to a files var and pass that to Test(t, files) or similar
* Then, if possible, try to reduce the files/content down to what's needed in test.

Note that if the test is small, it's probably faster just to manually re-create the test.
This commit is contained in:
Bjørn Erik Pedersen 2024-01-28 11:14:35 +01:00
parent 7285e74090
commit 50dc327d1a
No known key found for this signature in database

View file

@ -657,30 +657,24 @@ min_version = 0.55.0
func TestMountsProject(t *testing.T) { func TestMountsProject(t *testing.T) {
t.Parallel() t.Parallel()
config := ` files := `
-- config.toml --
baseURL="https://example.org" baseURL="https://example.org"
[module] [module]
[[module.mounts]] [[module.mounts]]
source="mycontent" source="mycontent"
target="content" target="content"
-- layouts/_default/single.html --
` Permalink: {{ .Permalink }}|
b := newTestSitesBuilder(t). -- mycontent/mypage.md --
WithConfigFile("toml", config).
WithSourceFile(filepath.Join("mycontent", "mypage.md"), `
--- ---
title: "My Page" title: "My Page"
--- ---
`
b := Test(t, files)
`) b.AssertFileContent("public/mypage/index.html", "Permalink: https://example.org/mypage/|")
b.Build(BuildCfg{})
// helpers.PrintFs(b.H.Fs.Source, "public", os.Stdout)
b.AssertFileContent("public/mypage/index.html", "Permalink: https://example.org/mypage/")
} }
// https://github.com/gohugoio/hugo/issues/6684 // https://github.com/gohugoio/hugo/issues/6684
@ -706,25 +700,20 @@ Home: {{ .Title }}|{{ .Content }}|
func TestSiteWithGoModButNoModules(t *testing.T) { func TestSiteWithGoModButNoModules(t *testing.T) {
t.Parallel() t.Parallel()
c := qt.New(t) tempDir := t.TempDir()
// We need to use the OS fs for this.
workDir, clean, err := htesting.CreateTempDir(hugofs.Os, "hugo-no-mod")
c.Assert(err, qt.IsNil)
cfg := config.New() files := `
cfg.Set("workingDir", workDir) -- hugo.toml --
cfg.Set("publishDir", "public") baseURL = "https://example.org"
fs := hugofs.NewFromOld(hugofs.Os, cfg) -- go.mod --
defer clean() `
b := newTestSitesBuilder(t) b := Test(t, files, TestOptWithConfig(func(cfg *IntegrationTestConfig) {
b.Fs = fs cfg.WorkingDir = tempDir
}))
b.WithWorkingDir(workDir).WithViper(cfg) b.Build()
b.WithSourceFile("go.mod", "")
b.Build(BuildCfg{})
} }
// https://github.com/gohugoio/hugo/issues/6622 // https://github.com/gohugoio/hugo/issues/6622
@ -783,7 +772,9 @@ P1: {{ $p1.Title }}|{{ $p1.RelPermalink }}|Filename: {{ $p1.File.Filename }}
// Issue 9426 // Issue 9426
func TestMountSameSource(t *testing.T) { func TestMountSameSource(t *testing.T) {
config := `baseURL = 'https://example.org/' files := `
-- hugo.toml --
baseURL = 'https://example.org/'
languageCode = 'en-us' languageCode = 'en-us'
title = 'Hugo GitHub Issue #9426' title = 'Hugo GitHub Issue #9426'
@ -800,18 +791,15 @@ target = "content/resources-a"
[[module.mounts]] [[module.mounts]]
source = "extra-content" source = "extra-content"
target = "content/resources-b" target = "content/resources-b"
-- layouts/_default/single.html --
Single
-- content/p1.md --
-- extra-content/_index.md --
-- extra-content/subdir/_index.md --
-- extra-content/subdir/about.md --
"
` `
b := newTestSitesBuilder(t).WithConfigFile("toml", config) b := Test(t, files)
b.WithContent("p1.md", "")
b.WithSourceFile(
"extra-content/_index.md", "",
"extra-content/subdir/_index.md", "",
"extra-content/subdir/about.md", "",
)
b.Build(BuildCfg{})
b.AssertFileContent("public/resources-a/subdir/about/index.html", "Single") b.AssertFileContent("public/resources-a/subdir/about/index.html", "Single")
b.AssertFileContent("public/resources-b/subdir/about/index.html", "Single") b.AssertFileContent("public/resources-b/subdir/about/index.html", "Single")
@ -836,12 +824,7 @@ message: Hugo Rocks
{{ site.Data.extra.test.message }} {{ site.Data.extra.test.message }}
` `
b := NewIntegrationTestBuilder( b := Test(t, files)
IntegrationTestConfig{
T: t,
TxtarString: files,
},
).Build()
b.AssertFileContent("public/index.html", "Hugo Rocks") b.AssertFileContent("public/index.html", "Hugo Rocks")
} }