| 836 | } |
| 837 | |
| 838 | func TestLoadMultipleConfigs(t *testing.T) { |
| 839 | base := map[string]any{ |
| 840 | "version": "3.4", |
| 841 | "services": map[string]any{ |
| 842 | "foo": map[string]any{ |
| 843 | "image": "foo", |
| 844 | "build": map[string]any{ |
| 845 | "context": ".", |
| 846 | "dockerfile": "bar.Dockerfile", |
| 847 | }, |
| 848 | "ports": []any{ |
| 849 | "8080:80", |
| 850 | "9090:90", |
| 851 | }, |
| 852 | "labels": []any{ |
| 853 | "foo=bar", |
| 854 | }, |
| 855 | "cap_add": []any{ |
| 856 | "NET_ADMIN", |
| 857 | }, |
| 858 | }, |
| 859 | }, |
| 860 | "volumes": map[string]any{}, |
| 861 | "networks": map[string]any{}, |
| 862 | "secrets": map[string]any{}, |
| 863 | "configs": map[string]any{}, |
| 864 | } |
| 865 | override := map[string]any{ |
| 866 | "version": "3.4", |
| 867 | "services": map[string]any{ |
| 868 | "foo": map[string]any{ |
| 869 | "image": "baz", |
| 870 | "build": map[string]any{ |
| 871 | "dockerfile": "foo.Dockerfile", |
| 872 | "args": []any{ |
| 873 | "buildno=1", |
| 874 | "password=secret", |
| 875 | }, |
| 876 | }, |
| 877 | "ports": []any{ |
| 878 | map[string]any{ |
| 879 | "target": 81, |
| 880 | "published": 8080, |
| 881 | }, |
| 882 | }, |
| 883 | "labels": map[string]any{ |
| 884 | "foo": "baz", |
| 885 | }, |
| 886 | "cap_add": []any{ |
| 887 | "SYS_ADMIN", |
| 888 | }, |
| 889 | }, |
| 890 | "bar": map[string]any{ |
| 891 | "image": "bar", |
| 892 | }, |
| 893 | }, |
| 894 | "volumes": map[string]any{}, |
| 895 | "networks": map[string]any{}, |