diff --git a/common/common.go b/common/common.go index f2af18db..595c91bb 100644 --- a/common/common.go +++ b/common/common.go @@ -145,7 +145,7 @@ func IsValidCryptoAddress(address, crypto string) (bool, error) { // YesOrNo returns a boolean variable to check if input is "y" or "yes" func YesOrNo(input string) bool { - if strings.ToLower(input) == "y" || strings.ToLower(input) == "yes" { + if strings.EqualFold(input, "y") || strings.EqualFold(input, "yes") { return true } return false diff --git a/common/convert/convert.go b/common/convert/convert.go index 27c6b1cf..3fe3f96c 100644 --- a/common/convert/convert.go +++ b/common/convert/convert.go @@ -1,55 +1,55 @@ -package convert - -import ( - "fmt" - "strconv" - "time" -) - -// FloatFromString format -func FloatFromString(raw interface{}) (float64, error) { - str, ok := raw.(string) - if !ok { - return 0, fmt.Errorf("unable to parse, value not string: %T", raw) - } - flt, err := strconv.ParseFloat(str, 64) - if err != nil { - return 0, fmt.Errorf("could not convert value: %s Error: %s", str, err) - } - return flt, nil -} - -// IntFromString format -func IntFromString(raw interface{}) (int, error) { - str, ok := raw.(string) - if !ok { - return 0, fmt.Errorf("unable to parse, value not string: %T", raw) - } - n, err := strconv.Atoi(str) - if err != nil { - return 0, fmt.Errorf("unable to parse as int: %T", raw) - } - return n, nil -} - -// Int64FromString format -func Int64FromString(raw interface{}) (int64, error) { - str, ok := raw.(string) - if !ok { - return 0, fmt.Errorf("unable to parse, value not string: %T", raw) - } - n, err := strconv.ParseInt(str, 10, 64) - if err != nil { - return 0, fmt.Errorf("unable to parse as int64: %T", raw) - } - return n, nil -} - -// TimeFromUnixTimestampFloat format -func TimeFromUnixTimestampFloat(raw interface{}) (time.Time, error) { - ts, ok := raw.(float64) - if !ok { - return time.Time{}, fmt.Errorf("unable to parse, value not float64: %T", raw) - } - return time.Unix(0, int64(ts)*int64(time.Millisecond)), nil -} +package convert + +import ( + "fmt" + "strconv" + "time" +) + +// FloatFromString format +func FloatFromString(raw interface{}) (float64, error) { + str, ok := raw.(string) + if !ok { + return 0, fmt.Errorf("unable to parse, value not string: %T", raw) + } + flt, err := strconv.ParseFloat(str, 64) + if err != nil { + return 0, fmt.Errorf("could not convert value: %s Error: %s", str, err) + } + return flt, nil +} + +// IntFromString format +func IntFromString(raw interface{}) (int, error) { + str, ok := raw.(string) + if !ok { + return 0, fmt.Errorf("unable to parse, value not string: %T", raw) + } + n, err := strconv.Atoi(str) + if err != nil { + return 0, fmt.Errorf("unable to parse as int: %T", raw) + } + return n, nil +} + +// Int64FromString format +func Int64FromString(raw interface{}) (int64, error) { + str, ok := raw.(string) + if !ok { + return 0, fmt.Errorf("unable to parse, value not string: %T", raw) + } + n, err := strconv.ParseInt(str, 10, 64) + if err != nil { + return 0, fmt.Errorf("unable to parse as int64: %T", raw) + } + return n, nil +} + +// TimeFromUnixTimestampFloat format +func TimeFromUnixTimestampFloat(raw interface{}) (time.Time, error) { + ts, ok := raw.(float64) + if !ok { + return time.Time{}, fmt.Errorf("unable to parse, value not float64: %T", raw) + } + return time.Unix(0, int64(ts)*int64(time.Millisecond)), nil +} diff --git a/common/convert/convert_test.go b/common/convert/convert_test.go index c3aef95a..b6dd1f90 100644 --- a/common/convert/convert_test.go +++ b/common/convert/convert_test.go @@ -1,96 +1,96 @@ -package convert - -import ( - "testing" - "time" -) - -func TestFloatFromString(t *testing.T) { - t.Parallel() - testString := "1.41421356237" - expectedOutput := float64(1.41421356237) - - actualOutput, err := FloatFromString(testString) - if actualOutput != expectedOutput || err != nil { - t.Errorf("Test failed. Common FloatFromString. Expected '%v'. Actual '%v'. Error: %s", - expectedOutput, actualOutput, err) - } - - var testByte []byte - _, err = FloatFromString(testByte) - if err == nil { - t.Error("Test failed. Common FloatFromString. Converted non-string.") - } - - testString = " something unconvertible " - _, err = FloatFromString(testString) - if err == nil { - t.Error("Test failed. Common FloatFromString. Converted invalid syntax.") - } -} - -func TestIntFromString(t *testing.T) { - t.Parallel() - testString := "1337" - expectedOutput := 1337 - - actualOutput, err := IntFromString(testString) - if actualOutput != expectedOutput || err != nil { - t.Errorf("Test failed. Common IntFromString. Expected '%v'. Actual '%v'. Error: %s", - expectedOutput, actualOutput, err) - } - - var testByte []byte - _, err = IntFromString(testByte) - if err == nil { - t.Error("Test failed. Common IntFromString. Converted non-string.") - } - - testString = "1.41421356237" - _, err = IntFromString(testString) - if err == nil { - t.Error("Test failed. Common IntFromString. Converted invalid syntax.") - } -} - -func TestInt64FromString(t *testing.T) { - t.Parallel() - testString := "4398046511104" - expectedOutput := int64(1 << 42) - - actualOutput, err := Int64FromString(testString) - if actualOutput != expectedOutput || err != nil { - t.Errorf("Test failed. Common Int64FromString. Expected '%v'. Actual '%v'. Error: %s", - expectedOutput, actualOutput, err) - } - - var testByte []byte - _, err = Int64FromString(testByte) - if err == nil { - t.Error("Test failed. Common Int64FromString. Converted non-string.") - } - - testString = "1.41421356237" - _, err = Int64FromString(testString) - if err == nil { - t.Error("Test failed. Common Int64FromString. Converted invalid syntax.") - } -} - -func TestTimeFromUnixTimestampFloat(t *testing.T) { - t.Parallel() - testTimestamp := float64(1414456320000) - expectedOutput := time.Date(2014, time.October, 28, 0, 32, 0, 0, time.UTC) - - actualOutput, err := TimeFromUnixTimestampFloat(testTimestamp) - if actualOutput.UTC().String() != expectedOutput.UTC().String() || err != nil { - t.Errorf("Test failed. Common TimeFromUnixTimestampFloat. Expected '%v'. Actual '%v'. Error: %s", - expectedOutput, actualOutput, err) - } - - testString := "Time" - _, err = TimeFromUnixTimestampFloat(testString) - if err == nil { - t.Error("Test failed. Common TimeFromUnixTimestampFloat. Converted invalid syntax.") - } -} +package convert + +import ( + "testing" + "time" +) + +func TestFloatFromString(t *testing.T) { + t.Parallel() + testString := "1.41421356237" + expectedOutput := float64(1.41421356237) + + actualOutput, err := FloatFromString(testString) + if actualOutput != expectedOutput || err != nil { + t.Errorf("Test failed. Common FloatFromString. Expected '%v'. Actual '%v'. Error: %s", + expectedOutput, actualOutput, err) + } + + var testByte []byte + _, err = FloatFromString(testByte) + if err == nil { + t.Error("Test failed. Common FloatFromString. Converted non-string.") + } + + testString = " something unconvertible " + _, err = FloatFromString(testString) + if err == nil { + t.Error("Test failed. Common FloatFromString. Converted invalid syntax.") + } +} + +func TestIntFromString(t *testing.T) { + t.Parallel() + testString := "1337" + expectedOutput := 1337 + + actualOutput, err := IntFromString(testString) + if actualOutput != expectedOutput || err != nil { + t.Errorf("Test failed. Common IntFromString. Expected '%v'. Actual '%v'. Error: %s", + expectedOutput, actualOutput, err) + } + + var testByte []byte + _, err = IntFromString(testByte) + if err == nil { + t.Error("Test failed. Common IntFromString. Converted non-string.") + } + + testString = "1.41421356237" + _, err = IntFromString(testString) + if err == nil { + t.Error("Test failed. Common IntFromString. Converted invalid syntax.") + } +} + +func TestInt64FromString(t *testing.T) { + t.Parallel() + testString := "4398046511104" + expectedOutput := int64(1 << 42) + + actualOutput, err := Int64FromString(testString) + if actualOutput != expectedOutput || err != nil { + t.Errorf("Test failed. Common Int64FromString. Expected '%v'. Actual '%v'. Error: %s", + expectedOutput, actualOutput, err) + } + + var testByte []byte + _, err = Int64FromString(testByte) + if err == nil { + t.Error("Test failed. Common Int64FromString. Converted non-string.") + } + + testString = "1.41421356237" + _, err = Int64FromString(testString) + if err == nil { + t.Error("Test failed. Common Int64FromString. Converted invalid syntax.") + } +} + +func TestTimeFromUnixTimestampFloat(t *testing.T) { + t.Parallel() + testTimestamp := float64(1414456320000) + expectedOutput := time.Date(2014, time.October, 28, 0, 32, 0, 0, time.UTC) + + actualOutput, err := TimeFromUnixTimestampFloat(testTimestamp) + if actualOutput.UTC().String() != expectedOutput.UTC().String() || err != nil { + t.Errorf("Test failed. Common TimeFromUnixTimestampFloat. Expected '%v'. Actual '%v'. Error: %s", + expectedOutput, actualOutput, err) + } + + testString := "Time" + _, err = TimeFromUnixTimestampFloat(testString) + if err == nil { + t.Error("Test failed. Common TimeFromUnixTimestampFloat. Converted invalid syntax.") + } +} diff --git a/communications/smsglobal/smsglobal.go b/communications/smsglobal/smsglobal.go index 2157c663..ad051f7b 100644 --- a/communications/smsglobal/smsglobal.go +++ b/communications/smsglobal/smsglobal.go @@ -89,7 +89,7 @@ func (s *SMSGlobal) GetContactByNumber(number string) (Contact, error) { // GetContactByName returns a contact with supplied name func (s *SMSGlobal) GetContactByName(name string) (Contact, error) { for x := range s.Contacts { - if strings.ToLower(s.Contacts[x].Name) == strings.ToLower(name) { + if strings.EqualFold(s.Contacts[x].Name, name) { return s.Contacts[x], nil } } @@ -113,7 +113,7 @@ func (s *SMSGlobal) AddContact(contact Contact) error { // ContactExists checks to see if a contact exists func (s *SMSGlobal) ContactExists(contact Contact) bool { for x := range s.Contacts { - if s.Contacts[x].Number == contact.Number && strings.ToLower(s.Contacts[x].Name) == strings.ToLower(contact.Name) { + if s.Contacts[x].Number == contact.Number && strings.EqualFold(s.Contacts[x].Name, contact.Name) { return true } } diff --git a/currency/forexprovider/exchangeratesapi.io/exchangeratesapi.go b/currency/forexprovider/exchangeratesapi.io/exchangeratesapi.go index 25326139..5a5289a6 100644 --- a/currency/forexprovider/exchangeratesapi.io/exchangeratesapi.go +++ b/currency/forexprovider/exchangeratesapi.io/exchangeratesapi.go @@ -66,7 +66,7 @@ func cleanCurrencies(baseCurrency, symbols string) string { } // remove and warn about any unsupported currencies - if !strings.Contains(exchangeRatesSupportedCurrencies, x) { + if !strings.Contains(exchangeRatesSupportedCurrencies, x) { // nolint:gocritic log.Warnf("Forex provider ExchangeRatesAPI does not support currency %s, removing from forex rates query.", x) continue } diff --git a/engine/events/events.go b/engine/events/events.go index f5f37400..9fb444d6 100644 --- a/engine/events/events.go +++ b/engine/events/events.go @@ -329,7 +329,7 @@ func IsValidExchange(exchangeName string) bool { exchangeName = strings.ToLower(exchangeName) cfg := config.GetConfig() for x := range cfg.Exchanges { - if strings.ToLower(cfg.Exchanges[x].Name) == exchangeName && cfg.Exchanges[x].Enabled { + if strings.EqualFold(cfg.Exchanges[x].Name, exchangeName) && cfg.Exchanges[x].Enabled { return true } } diff --git a/exchanges/exmo/exmo.go b/exchanges/exmo/exmo.go index 5833ddf0..de89512b 100644 --- a/exchanges/exmo/exmo.go +++ b/exchanges/exmo/exmo.go @@ -238,7 +238,7 @@ func (e *EXMO) WithdrawCryptocurrency(currency, address, invoice string, amount v.Set("currency", currency) v.Set("address", address) - if strings.ToUpper(currency) == "XRP" { + if strings.EqualFold(currency, "XRP") { v.Set(invoice, invoice) }