MCPcopy Index your code
hub / github.com/devspace-sh/devspace / TestLanguageHandler

Function TestLanguageHandler

pkg/devspace/generator/language_test.go:13–70  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestLanguageHandler(t *testing.T) {
14 //Create TmpFolder
15 dir := t.TempDir()
16
17 wdBackup, err := os.Getwd()
18 if err != nil {
19 t.Fatalf("Error getting current working directory: %v", err)
20 }
21 err = os.Chdir(dir)
22 if err != nil {
23 t.Fatalf("Error changing working directory: %v", err)
24 }
25
26 // Cleanup temp folder
27 defer func() {
28 err = os.Chdir(wdBackup)
29 if err != nil {
30 t.Fatalf("Error changing dir back: %v", err)
31 }
32 }()
33
34 //Test factory method
35 languageHandler, err := NewLanguageHandler("", "", fakelogger.NewFakeLogger())
36 if err != nil {
37 t.Fatalf("Error creating a languageHandler: %v", err)
38 }
39
40 t.Log(languageHandler.gitRepo.LocalPath)
41
42 //Test IsLanguageSupported with unsupported Language
43 supported, _ := languageHandler.IsSupportedLanguage("unsupportedLanguage")
44 assert.Equal(t, false, supported, "Unsupported language is declared supported.")
45
46 //Test CreateDockerFile
47 err = languageHandler.CreateDockerfile("javascript")
48 if err != nil {
49 t.Fatalf("Error creating Dockerfile from languageHandler: %v", err)
50 }
51 content, err := fsutil.ReadFile("Dockerfile", -1)
52 if err != nil {
53 t.Fatalf("Error reading Dockerfile. Maybe languageHandler.CreateDockerfile didn't create it? : %v", err)
54 }
55
56 match := regexp.MustCompile(`ARG TAG=\d*-alpine
57FROM node:\$\{TAG\}
58
59# Set working directory
60WORKDIR /app
61`)
62 assert.Assert(t, match.Match(content), "Created Dockerfile has wrong content")
63
64 //Test CreateDockerFile with unavailable language
65 err = languageHandler.CreateDockerfile("unavailableLanguage")
66 if err == nil {
67 t.Fatalf("No Error creating Dockerfile from languageHandler with unavailable Language: %v", err)
68 }
69
70}

Callers

nothing calls this directly

Calls 7

IsSupportedLanguageMethod · 0.95
CreateDockerfileMethod · 0.95
ReadFileFunction · 0.92
NewLanguageHandlerFunction · 0.85
EqualMethod · 0.80
LogMethod · 0.65
FatalfMethod · 0.45

Tested by

no test coverage detected