Skip to content

Commit

Permalink
feat: add more test case to validator
Browse files Browse the repository at this point in the history
  • Loading branch information
CorrectRoadH committed Jul 2, 2024
1 parent 8d0082a commit 09ab269
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 3 deletions.
5 changes: 2 additions & 3 deletions cmd/validator/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@ import (
"fmt"
"os"

"github.com/IceWhaleTech/CasaOS-AppManagement/service"
"github.com/IceWhaleTech/CasaOS-AppManagement/cmd/validator/pkg"
"github.com/IceWhaleTech/CasaOS-Common/utils/file"
utils_logger "github.com/IceWhaleTech/CasaOS-Common/utils/logger"
)

var logger = NewLogger()

func main() {

utils_logger.LogInitConsoleOnly()

if len(os.Args) < 1 {
Expand All @@ -29,7 +28,7 @@ func main() {

composeFileContent := file.ReadFullFile(dockerComposeFilePath)

_, err := service.NewComposeAppFromYAML(composeFileContent, false, false)
err := pkg.VaildDockerCompose(composeFileContent)
if err != nil {
logger.Error("failed to parse docker-compose file %s", err.Error())
os.Exit(1)
Expand Down
9 changes: 9 additions & 0 deletions cmd/validator/pkg/validate.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package pkg

import "github.com/IceWhaleTech/CasaOS-AppManagement/service"

func VaildDockerCompose(yaml []byte) error {
_, err := service.NewComposeAppFromYAML(yaml, false, false)

return err
}
79 changes: 79 additions & 0 deletions cmd/validator/validator_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
package main_test

import (
"testing"

"github.com/IceWhaleTech/CasaOS-AppManagement/cmd/validator/pkg"
utils_logger "github.com/IceWhaleTech/CasaOS-Common/utils/logger"
"github.com/stretchr/testify/assert"
)

func TestAppIsCorrect(t *testing.T) {
utils_logger.LogInitConsoleOnly()

err := pkg.VaildDockerCompose([]byte(CorrectYAML))
assert.NoError(t, err)
}

func TestTipsIsWrong(t *testing.T) {
utils_logger.LogInitConsoleOnly()

err := pkg.VaildDockerCompose([]byte(TipsWrongYAML))
assert.NotEmpty(t, err)
}

const (
CorrectYAML = ``
TipsWrongYAML = `name: swingmusic
services:
swingmusic:
image: ghcr.io/swingmx/swingmusic:v1.4.8
container_name: swingmusic
volumes:
- type: bind
source: /DATA/AppData/$AppID/config
target: /config
- type: bind
source: /DATA/Media/Music
target: /music
ports:
- "1970:1970"
restart: unless-stopped
x-casaos:
architectures:
- amd64
main: swingmusic
author: CasaOS Team
category: Media
description:
en_us: |
Swing Music is a beautifully designed, self-hosted music streaming server. Like a cooler Spotify ... but bring your own music.
zh_cn: |
Swing Music 是一款设计精美的自托管音乐流媒体服务器。就像更酷的 Spotify......但可以带来你自己的音乐。
developer: SwingMX
icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/SwingMusic/icon.png
screenshot_link:
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/SwingMusic/screenshot-1.png
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/SwingMusic/screenshot-2.png
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/SwingMusic/screenshot-3.png
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/SwingMusic/screenshot-4.png
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/SwingMusic/screenshot-5.png
tagline:
en_us: Swing Music is a beautifully designed, self-hosted music streaming server. Like a cooler Spotify ... but bring your own music.
zh_cn: Swing Music 是一款设计精美的自托管音乐流媒体服务器。就像更酷的 Spotify......但可以带来你自己的音乐。
tips: |
before_install:
en_us: |
When you first start Swing Music, it will ask you to pick music directory: Where do you want to look for music?
select "Specific directories" Option, and select "/music" and rescan.
zh_cn: |
首次启动 Swing Music 时,它会要求您选择音乐目录:您想在哪里查找音乐?
选择“特定目录”选项,然后选择“/music”并重新扫描。
title:
en_us: Swing Music
zh_cn: Swing Music
index: /
port_map: "1970"
`
)

0 comments on commit 09ab269

Please sign in to comment.