Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
davidegirardi committed Jan 31, 2025
1 parent 3f3c450 commit 7227717
Showing 1 changed file with 43 additions and 8 deletions.
51 changes: 43 additions & 8 deletions main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,54 +17,84 @@ func TestConfigRejectionCondition(t *testing.T) {
App: "my-app",
Version: "0.1.2",
Label: "nightly",
Reason: "no nightlies",
},
{
App: "block-my-app",
},
{
UserTextMatch: "(\\w{4}\\s){11}\\w{4}",
Reason: "it matches a recovery key and recovery keys are private",
},
},
}
rejectPayloads := []payload{
{
AppName: "my-app",
Data: map[string]string{
"Version": "0.1.0",
"Version": "0.1.0",
"ExpectedRejectReason": "app or user text rejected",
},
},
{
AppName: "my-app",
Data: map[string]string{},
Labels: []string{"0.1.1"},
Data: map[string]string{
"ExpectedRejectReason": "app or user text rejected",
},
Labels: []string{"0.1.1"},
},
{
AppName: "my-app",
Labels: []string{"foo", "nightly"},
Data: map[string]string{
"Version": "0.1.2",
"Version": "0.1.2",
"ExpectedRejectReason": "no nightlies",
},
},
{
AppName: "block-my-app",
Data: map[string]string{
"ExpectedRejectReason": "app or user text rejected",
},
},
{
AppName: "block-my-app",
Labels: []string{"foo"},
Data: map[string]string{
"ExpectedRejectReason": "app or user text rejected",
},
},
{
AppName: "block-my-app",
Data: map[string]string{
"Version": "42",
"Version": "42",
"ExpectedRejectReason": "app or user text rejected",
},
},
{
AppName: "block-my-app",
Labels: []string{"foo"},
Data: map[string]string{
"Version": "42",
"Version": "42",
"ExpectedRejectReason": "app or user text rejected",
},
},
{
AppName: "my-app",
UserText: "Looks like a recover key abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd",
Data: map[string]string{
"ExpectedRejectReason": "it matches a recovery key and recovery keys are private",
},
},
}
for _, p := range rejectPayloads {
if !cfg.matchesRejectionCondition(&p) {
reject, reason := cfg.matchesRejectionCondition(&p)
if reject {
if *reason != p.Data["ExpectedRejectReason"] {
t.Errorf("payload was rejected with the wrong reason:\n payload=%+v\nconfig=%+v", p, cfg)
}
}
if !reject {
t.Errorf("payload was accepted when it should be rejected:\n payload=%+v\nconfig=%+v", p, cfg)
}
}
Expand Down Expand Up @@ -112,9 +142,14 @@ func TestConfigRejectionCondition(t *testing.T) {
"Version": "0.1.2",
},
},
{
AppName: "my-app",
UserText: "Some description",
},
}
for _, p := range acceptPayloads {
if cfg.matchesRejectionCondition(&p) {
reject, _ := cfg.matchesRejectionCondition(&p)
if reject {
t.Errorf("payload was rejected when it should be accepted:\n payload=%+v\nconfig=%+v", p, cfg)
}
}
Expand Down

0 comments on commit 7227717

Please sign in to comment.