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  }