12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package schema
- import (
- "testing"
- "github.com/stretchr/testify/assert"
- )
- type dict map[string]interface{}
- func TestValidate(t *testing.T) {
- config := dict{
- "version": "3.0",
- "services": dict{
- "foo": dict{
- "image": "busybox",
- },
- },
- }
- assert.NoError(t, Validate(config, "3.0"))
- }
- func TestValidateUndefinedTopLevelOption(t *testing.T) {
- config := dict{
- "version": "3.0",
- "helicopters": dict{
- "foo": dict{
- "image": "busybox",
- },
- },
- }
- err := Validate(config, "3.0")
- assert.Error(t, err)
- assert.Contains(t, err.Error(), "Additional property helicopters is not allowed")
- }
- func TestValidateInvalidVersion(t *testing.T) {
- config := dict{
- "version": "2.1",
- "services": dict{
- "foo": dict{
- "image": "busybox",
- },
- },
- }
- err := Validate(config, "2.1")
- assert.Error(t, err)
- assert.Contains(t, err.Error(), "unsupported Compose file version: 2.1")
- }
|