Skip to content

Commit

Permalink
lint cleanup (Snowflake-Labs#329)
Browse files Browse the repository at this point in the history
Note quite to zero lint warnings, but this reduces the lints warnings by a lot.


## Test Plan
* [ ] acceptance tests

## References
*
  • Loading branch information
ryanking authored and Gino John Varghese committed Mar 16, 2021
1 parent 8488b9d commit cf90a15
Show file tree
Hide file tree
Showing 62 changed files with 849 additions and 860 deletions.
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ lint-ci: ## run the fast go linters
.PHONY: lint-ci

lint-all: fmt ## run the fast go linters
# doesn't seem to be a way to get reviewdog to not filter by diff
./bin/golangci-lint run
./bin/reviewdog -conf .reviewdog.yml -filter-mode nofilter
.PHONY: lint-all

check-release-prereqs:
Expand Down
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ require (
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
github.com/zclconf/go-cty v1.5.1 // indirect
golang.org/x/crypto v0.0.0-20200707235045-ab33eee955e0
golang.org/x/tools v0.0.0-20201202200335-bef1c476418a // indirect
gopkg.in/yaml.v2 v2.2.8 // indirect
)
10 changes: 10 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,7 @@ github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/zalando/go-keyring v0.0.0-20200121091418-667557018717/go.mod h1:RaxNwUITJaHVdQ0VC7pELPZ3tOWn13nr0gZMZEhpVU0=
github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
github.com/zclconf/go-cty v1.2.1 h1:vGMsygfmeCl4Xb6OA5U5XVAaQZ69FvoG7X2jUtQujb8=
Expand Down Expand Up @@ -547,6 +548,8 @@ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
Expand All @@ -563,6 +566,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
Expand Down Expand Up @@ -597,6 +601,8 @@ golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae h1:Ih9Yo4hSPImZOpfGuA4bR/ORKTAbhZo2AbWNRCnevdo=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
Expand Down Expand Up @@ -650,10 +656,14 @@ golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roY
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed h1:+qzWo37K31KxduIYaBeMqJ8MUOyTayOQKpH9aDPLMSY=
golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20201202200335-bef1c476418a h1:TYqOq/v+Ri5aADpldxXOj6PmvcPMOJbLjdALzZDQT2M=
golang.org/x/tools v0.0.0-20201202200335-bef1c476418a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
Expand Down
9 changes: 4 additions & 5 deletions pkg/datasources/system_get_aws_sns_iam_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ func SystemGetAWSSNSIAMPolicy() *schema.Resource {
}

// ReadSystemGetAWSSNSIAMPolicy implements schema.ReadFunc
func ReadSystemGetAWSSNSIAMPolicy(data *schema.ResourceData, meta interface{}) error {
func ReadSystemGetAWSSNSIAMPolicy(d *schema.ResourceData, meta interface{}) error {
db := meta.(*sql.DB)
awsSNSTopicArn := data.Get("aws_sns_topic_arn").(string)
awsSNSTopicArn := d.Get("aws_sns_topic_arn").(string)

sel := snowflake.SystemGetAWSSNSIAMPolicy(awsSNSTopicArn).Select()
row := snowflake.QueryRow(db, sel)
Expand All @@ -40,7 +40,6 @@ func ReadSystemGetAWSSNSIAMPolicy(data *schema.ResourceData, meta interface{}) e
return err
}

data.SetId(awsSNSTopicArn)
data.Set("aws_sns_topic_policy_json", policy.Policy)
return nil
d.SetId(awsSNSTopicArn)
return d.Set("aws_sns_topic_policy_json", policy.Policy)
}
17 changes: 0 additions & 17 deletions pkg/provider/provider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"testing"

"github.com/chanzuckerberg/terraform-provider-snowflake/pkg/provider"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
_ "github.com/snowflakedb/gosnowflake"
"github.com/stretchr/testify/require"
)
Expand Down Expand Up @@ -53,22 +52,6 @@ func TestDSN(t *testing.T) {
}
}

func resourceData(t *testing.T, account, username, token, region, role string) *schema.ResourceData {
r := require.New(t)

in := map[string]interface{}{
"account": account,
"username": username,
"password": token,
"region": region,
"role": role,
}

d := schema.TestResourceDataRaw(t, provider.Provider().Schema, in)
r.NotNil(d)
return d
}

func TestOAuthDSN(t *testing.T) {
type args struct {
account,
Expand Down
26 changes: 13 additions & 13 deletions pkg/resources/account_grant.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,13 @@ func AccountGrant() *schema.Resource {
}

// CreateAccountGrant implements schema.CreateFunc
func CreateAccountGrant(data *schema.ResourceData, meta interface{}) error {
priv := data.Get("privilege").(string)
grantOption := data.Get("with_grant_option").(bool)
func CreateAccountGrant(d *schema.ResourceData, meta interface{}) error {
priv := d.Get("privilege").(string)
grantOption := d.Get("with_grant_option").(bool)

builder := snowflake.AccountGrant()

err := createGenericGrant(data, meta, builder)
err := createGenericGrant(d, meta, builder)
if err != nil {
return err
}
Expand All @@ -76,34 +76,34 @@ func CreateAccountGrant(data *schema.ResourceData, meta interface{}) error {
if err != nil {
return err
}
data.SetId(dataIDInput)
d.SetId(dataIDInput)

return ReadAccountGrant(data, meta)
return ReadAccountGrant(d, meta)
}

// ReadAccountGrant implements schema.ReadFunc
func ReadAccountGrant(data *schema.ResourceData, meta interface{}) error {
grantID, err := grantIDFromString(data.Id())
func ReadAccountGrant(d *schema.ResourceData, meta interface{}) error {
grantID, err := grantIDFromString(d.Id())
if err != nil {
return err
}
err = data.Set("privilege", grantID.Privilege)
err = d.Set("privilege", grantID.Privilege)
if err != nil {
return err
}
err = data.Set("with_grant_option", grantID.GrantOption)
err = d.Set("with_grant_option", grantID.GrantOption)
if err != nil {
return err
}

builder := snowflake.AccountGrant()

return readGenericGrant(data, meta, accountGrantSchema, builder, false, validAccountPrivileges)
return readGenericGrant(d, meta, accountGrantSchema, builder, false, validAccountPrivileges)
}

// DeleteAccountGrant implements schema.DeleteFunc
func DeleteAccountGrant(data *schema.ResourceData, meta interface{}) error {
func DeleteAccountGrant(d *schema.ResourceData, meta interface{}) error {
builder := snowflake.AccountGrant()

return deleteGenericGrant(data, meta, builder)
return deleteGenericGrant(d, meta, builder)
}
5 changes: 4 additions & 1 deletion pkg/resources/account_grant_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@ import (
"github.com/stretchr/testify/require"
)

//lintignore:AT003
func TestAccountGrant(t *testing.T) {
r := require.New(t)
err := resources.AccountGrant().InternalValidate(provider.Provider().Schema, true)
r.NoError(err)
}

func TestAccountGrantCreate(t *testing.T) {
//lintignore:AT003
func TestAccountGrantCreate(t *testing.T) { //lintignore:AT003
r := require.New(t)

in := map[string]interface{}{
Expand All @@ -39,6 +41,7 @@ func TestAccountGrantCreate(t *testing.T) {
})
}

//lintignore:AT003
func TestAccountGrantRead(t *testing.T) {
r := require.New(t)

Expand Down
54 changes: 27 additions & 27 deletions pkg/resources/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,26 +55,26 @@ func Database() *schema.Resource {

Schema: databaseSchema,
Importer: &schema.ResourceImporter{
State: schema.ImportStatePassthrough,
StateContext: schema.ImportStatePassthroughContext,
},
}
}

// CreateDatabase implements schema.CreateFunc
func CreateDatabase(data *schema.ResourceData, meta interface{}) error {
if _, ok := data.GetOk("from_share"); ok {
return createDatabaseFromShare(data, meta)
func CreateDatabase(d *schema.ResourceData, meta interface{}) error {
if _, ok := d.GetOk("from_share"); ok {
return createDatabaseFromShare(d, meta)
}

if _, ok := data.GetOk("from_database"); ok {
return createDatabaseFromDatabase(data, meta)
if _, ok := d.GetOk("from_database"); ok {
return createDatabaseFromDatabase(d, meta)
}

return CreateResource("database", databaseProperties, databaseSchema, snowflake.Database, ReadDatabase)(data, meta)
return CreateResource("database", databaseProperties, databaseSchema, snowflake.Database, ReadDatabase)(d, meta)
}

func createDatabaseFromShare(data *schema.ResourceData, meta interface{}) error {
in := data.Get("from_share").(map[string]interface{})
func createDatabaseFromShare(d *schema.ResourceData, meta interface{}) error {
in := d.Get("from_share").(map[string]interface{})
prov := in["provider"]
share := in["share"]

Expand All @@ -83,39 +83,39 @@ func createDatabaseFromShare(data *schema.ResourceData, meta interface{}) error
}

db := meta.(*sql.DB)
name := data.Get("name").(string)
name := d.Get("name").(string)
builder := snowflake.DatabaseFromShare(name, prov.(string), share.(string))

err := snowflake.Exec(db, builder.Create())
if err != nil {
return errors.Wrapf(err, "error creating database %v from share %v.%v", name, prov, share)
}

data.SetId(name)
d.SetId(name)

return ReadDatabase(data, meta)
return ReadDatabase(d, meta)
}

func createDatabaseFromDatabase(data *schema.ResourceData, meta interface{}) error {
sourceDb := data.Get("from_database").(string)
func createDatabaseFromDatabase(d *schema.ResourceData, meta interface{}) error {
sourceDb := d.Get("from_database").(string)

db := meta.(*sql.DB)
name := data.Get("name").(string)
name := d.Get("name").(string)
builder := snowflake.DatabaseFromDatabase(name, sourceDb)

err := snowflake.Exec(db, builder.Create())
if err != nil {
return errors.Wrapf(err, "error creating a clone database %v from database %v", name, sourceDb)
}

data.SetId(name)
d.SetId(name)

return ReadDatabase(data, meta)
return ReadDatabase(d, meta)
}

func ReadDatabase(data *schema.ResourceData, meta interface{}) error {
func ReadDatabase(d *schema.ResourceData, meta interface{}) error {
db := meta.(*sql.DB)
name := data.Id()
name := d.Id()

stmt := snowflake.Database(name).Show()
row := snowflake.QueryRow(db, stmt)
Expand All @@ -125,17 +125,17 @@ func ReadDatabase(data *schema.ResourceData, meta interface{}) error {
if err != nil {
if err == sql.ErrNoRows {
log.Printf("[WARN] database %v not found, removing from state file", name)
data.SetId("")
d.SetId("")
return nil
}
return errors.Wrap(err, "unable to scan row for SHOW DATABASES")
}

err = data.Set("name", database.DBName.String)
err = d.Set("name", database.DBName.String)
if err != nil {
return err
}
err = data.Set("comment", database.Comment.String)
err = d.Set("comment", database.Comment.String)
if err != nil {
return err
}
Expand All @@ -145,14 +145,14 @@ func ReadDatabase(data *schema.ResourceData, meta interface{}) error {
return err
}

err = data.Set("data_retention_time_in_days", i)
err = d.Set("data_retention_time_in_days", i)
return err
}

func UpdateDatabase(data *schema.ResourceData, meta interface{}) error {
return UpdateResource("database", databaseProperties, databaseSchema, snowflake.Database, ReadDatabase)(data, meta)
func UpdateDatabase(d *schema.ResourceData, meta interface{}) error {
return UpdateResource("database", databaseProperties, databaseSchema, snowflake.Database, ReadDatabase)(d, meta)
}

func DeleteDatabase(data *schema.ResourceData, meta interface{}) error {
return DeleteResource("database", snowflake.Database)(data, meta)
func DeleteDatabase(d *schema.ResourceData, meta interface{}) error {
return DeleteResource("database", snowflake.Database)(d, meta)
}
2 changes: 1 addition & 1 deletion pkg/resources/database_acceptance_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
)

func TestAccDatabase(t *testing.T) {
func TestAcc_Database(t *testing.T) {
if _, ok := os.LookupEnv("SKIP_DATABASE_TESTS"); ok {
t.Skip("Skipping TestAccDatabase")
}
Expand Down

0 comments on commit cf90a15

Please sign in to comment.