From cddc290ee0bed35ee930d9fe4f3d2fe662681fa3 Mon Sep 17 00:00:00 2001 From: Ian Fijolek Date: Sat, 6 Jan 2024 14:28:41 -0800 Subject: [PATCH] Fix exhaustive structs --- job_test.go | 8 +++++--- main.go | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/job_test.go b/job_test.go index d7d4c0d..e037ed0 100644 --- a/job_test.go +++ b/job_test.go @@ -148,7 +148,7 @@ func TestJobValidation(t *testing.T) { Name: "Test job", Schedule: "@daily", Config: ValidResticConfig(), - Tasks: []main.JobTask{{}}, + Tasks: []main.JobTask{{}}, //nolint:exhaustruct Backup: main.BackupFilesTask{Paths: []string{"/test"}}, //nolint:exhaustruct Forget: nil, MySQL: []main.JobTaskMySQL{}, @@ -166,7 +166,7 @@ func TestJobValidation(t *testing.T) { Tasks: []main.JobTask{}, Backup: main.BackupFilesTask{Paths: []string{"/test"}}, //nolint:exhaustruct Forget: nil, - MySQL: []main.JobTaskMySQL{{}}, + MySQL: []main.JobTaskMySQL{{}}, //nolint:exhaustruct Postgres: []main.JobTaskPostgres{}, Sqlite: []main.JobTaskSqlite{}, }, @@ -183,7 +183,7 @@ func TestJobValidation(t *testing.T) { Forget: nil, MySQL: []main.JobTaskMySQL{}, Postgres: []main.JobTaskPostgres{}, - Sqlite: []main.JobTaskSqlite{{}}, + Sqlite: []main.JobTaskSqlite{{}}, //nolint:exhaustruct }, expectedErr: main.ErrMissingField, }, @@ -222,6 +222,7 @@ func TestConfigValidation(t *testing.T) { Config: ValidResticConfig(), Tasks: []main.JobTask{}, Backup: main.BackupFilesTask{Paths: []string{"/test"}}, //nolint:exhaustruct + Forget: nil, MySQL: []main.JobTaskMySQL{}, Postgres: []main.JobTaskPostgres{}, Sqlite: []main.JobTaskSqlite{}, @@ -239,6 +240,7 @@ func TestConfigValidation(t *testing.T) { Config: nil, Tasks: []main.JobTask{}, Backup: main.BackupFilesTask{Paths: []string{"/test"}}, //nolint:exhaustruct + Forget: nil, MySQL: []main.JobTaskMySQL{}, Postgres: []main.JobTaskPostgres{}, Sqlite: []main.JobTaskSqlite{}, diff --git a/main.go b/main.go index bcb87c8..0f8d697 100644 --- a/main.go +++ b/main.go @@ -29,8 +29,12 @@ func ParseConfig(path string) ([]Job, error) { Functions: map[string]function.Function{ "env": function.New(&function.Spec{ Params: []function.Parameter{{ - Name: "var", - Type: cty.String, + Name: "var", + Type: cty.String, + AllowNull: false, + AllowUnknown: false, + AllowDynamicType: false, + AllowMarked: false, }}, VarParam: nil, Type: function.StaticReturnType(cty.String), @@ -40,8 +44,12 @@ func ParseConfig(path string) ([]Job, error) { }), "readfile": function.New(&function.Spec{ Params: []function.Parameter{{ - Name: "path", - Type: cty.String, + Name: "path", + Type: cty.String, + AllowNull: false, + AllowUnknown: false, + AllowDynamicType: false, + AllowMarked: false, }}, VarParam: nil, Type: function.StaticReturnType(cty.String),