github.com/wawandco/oxpecker@v1.5.7-0.20210910201653-5958d4afdd89/tools/soda/fizz/drop_index_test.go (about)

     1  package fizz
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func Test_Drop_Index(t *testing.T) {
     8  	ac := dropIndex{}
     9  
    10  	t.Run("normal drop", func(t *testing.T) {
    11  		up, down, err := ac.GenerateFizz("drop_index_idx_name_from_campaigns", []string{})
    12  		if err != nil {
    13  			t.Error("should not be nil but got err")
    14  		}
    15  
    16  		expectedUP := `drop_index("campaigns", "idx_name")`
    17  		expectedDown := `add_index("campaigns", "idx_name", {})`
    18  
    19  		if up != expectedUP {
    20  			t.Errorf("expected %v but got %v", expectedUP, up)
    21  		}
    22  
    23  		if down != expectedDown {
    24  			t.Errorf("expected %v but got %v", expectedDown, down)
    25  		}
    26  	})
    27  }
    28  
    29  func Test_Drop_Index_Matches(t *testing.T) {
    30  	ac := dropIndex{}
    31  
    32  	cases := []struct {
    33  		name     string
    34  		expected bool
    35  	}{
    36  		{name: "drop_index", expected: false},
    37  		{name: "drop_index_ix", expected: false},
    38  		{name: "drop_index_idx_name_from_campaigns", expected: true},
    39  	}
    40  
    41  	for _, c := range cases {
    42  		matchs := ac.match(c.name)
    43  		if matchs != c.expected {
    44  			t.Errorf("expected %v but got %v", c.expected, matchs)
    45  		}
    46  	}
    47  }