golift.io/starr@v1.0.0/starrcmd/prowlarr_test.go (about) 1 //nolint:paralleltest,dupl 2 package starrcmd_test 3 4 import ( 5 "os" 6 "testing" 7 8 "golift.io/starr/starrcmd" 9 ) 10 11 func TestProwlarrApplicationUpdate(t *testing.T) { 12 t.Setenv("prowlarr_eventtype", string(starrcmd.EventApplicationUpdate)) 13 t.Setenv("prowlarr_update_previousversion", "4.0.3.5875") 14 t.Setenv("prowlarr_update_newversion", "4.0.4.5909") 15 t.Setenv("prowlarr_update_message", "Prowlarr updated from 4.0.3.5875 to 4.0.4.5909") 16 17 cmd, err := starrcmd.New() 18 if err != nil { 19 t.Fatalf("got an unexpected error: %s", err) 20 } 21 22 switch info, err := cmd.GetProwlarrApplicationUpdate(); { 23 case err != nil: 24 t.Fatalf("got an unexpected error: %s", err) 25 case info.Message != os.Getenv("prowlarr_update_message"): 26 t.Fatalf("got wrong Message? %s", info.Message) 27 case info.NewVersion != "4.0.4.5909": 28 t.Fatalf("got wrong new version? wanted: '4.0.4.5909' got: %s", info.Message) 29 case info.PreviousVersion != "4.0.3.5875": 30 t.Fatalf("got wrong Message? wanted: '4.0.3.5875' got: %s", info.Message) 31 } 32 } 33 34 func TestProwlarrHealthIssue(t *testing.T) { 35 t.Setenv("prowlarr_eventtype", string(starrcmd.EventHealthIssue)) 36 t.Setenv("prowlarr_health_issue_type", "SomeIssueTypeForProwlarr") 37 t.Setenv("prowlarr_health_issue_wiki", "https://wiki.servarr.com/prowlarr") 38 t.Setenv("prowlarr_health_issue_level", "Error") 39 t.Setenv("prowlarr_health_issue_message", "Lists unavailable due to failures: List name here") 40 41 cmd, err := starrcmd.New() 42 if err != nil { 43 t.Fatalf("got an unexpected error: %s", err) 44 } 45 46 switch info, err := cmd.GetProwlarrHealthIssue(); { 47 case err != nil: 48 t.Fatalf("got an unexpected error: %s", err) 49 case info.Message != os.Getenv("prowlarr_health_issue_message"): 50 t.Fatalf("got wrong Message? %s", info.Message) 51 case info.Wiki != "https://wiki.servarr.com/prowlarr": 52 t.Fatalf("got wrong wiki link? wanted: 'https://wiki.servarr.com/prowlarr' got: %s", info.Wiki) 53 case info.Level != "Error": 54 t.Fatalf("got wrong level? wanted: 'Warning' got: %s", info.Level) 55 case info.IssueType != "SomeIssueTypeForProwlarr": 56 t.Fatalf("got wrong issue type? wanted: 'ImportListStatusCheck' got: %s", info.IssueType) 57 } 58 } 59 60 func TestProwlarrTest(t *testing.T) { 61 t.Setenv("prowlarr_eventtype", string(starrcmd.EventTest)) 62 63 cmd, err := starrcmd.New() 64 if err != nil { 65 t.Fatalf("got an unexpected error: %s", err) 66 } 67 68 switch info, err := cmd.GetProwlarrTest(); { 69 case err != nil: 70 t.Fatalf("got an unexpected error: %s", err) 71 case info != starrcmd.ProwlarrTest{}: 72 t.Fatalf("got an wrong structure in return") 73 } 74 }