Azure / azure-sdk-for-go

This repository is for active development of the Azure SDK for Go. For consumers of the SDK we recommend visiting our public developer docs at:
https://docs.microsoft.com/azure/developer/go/
MIT License
1.59k stars 821 forks source link

runtime error: invalid memory address or nil pointer dereference [recovered] #6052

Closed manya0393 closed 4 years ago

manya0393 commented 4 years ago

Getting error on running the test cases Error- TestFordiagsettingscategory Logs that are enable- --- FAIL: TestFordiagsettingscategory (70.92s) panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x28 pc=0x6e087a]

goroutine 7 [running]: testing.tRunner.func1(0xc000080200) c:/go/src/testing/testing.go:874 +0x3aa panic(0x733f80, 0xa236a0) c:/go/src/runtime/panic.go:679 +0x1c0 command-line-arguments.TestFordiagsettingscategory(0xc000080200) C:/Users/manya.singhal/go/src/datafactory/Test_DataFactory/datafactory_test.go:122 +0x28a testing.tRunner(0xc000080200, 0x7b8838) c:/go/src/testing/testing.go:909 +0xd0 created by testing.(*T).Run c:/go/src/testing/testing.go:960 +0x357 FAIL command-line-arguments 75.303s FAIL

Code that Trying to run

package test

import ( "github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory" "github.com/Azure/azure-sdk-for-go/services/preview/monitor/mgmt/2017-05-01-preview/insights" "github.com/Azure/go-autorest/autorest/azure/auth" "github.com/stretchr/testify/assert" "testing" "context" "flag" "fmt" )

var subscriptionID = flag.String("subscriptionID", "", "Description-subscriptionID") var diagSettingsName = flag.String("diagSettingsName", "", "Description-diagSettingsName") var datafactoryname = flag.String("datafactoryname", "", "Description-databricksname") var resourcegroupname = flag.String("resourcegroupname", "", "Description-resourcegroupname")

func getDataFactoryClient() datafactory.FactoriesClient { datafactoryClient := datafactory.NewFactoriesClient(*subscriptionID) auth, _ := auth.NewAuthorizerFromCLI() datafactoryClient.Authorizer = auth return datafactoryClient }

func getDiagsettingsClient() insights.DiagnosticSettingsClient { diagsettingsClient := insights.NewDiagnosticSettingsClient(*subscriptionID) auth, _ := auth.NewAuthorizerFromCLI() diagsettingsClient.Authorizer = auth return diagsettingsClient }

func getDataFactorySettings() datafactory.Factory { ctx := context.Background() datafactoryClient:= getDataFactoryClient() datafactorySettings, _ := datafactoryClient.Get(ctx, resourcegroupname, datafactoryname) return datafactorySettings }

func getDiagnosticSettings() insights.DiagnosticSettingsResource { ctx := context.Background() FactoryProperties := getDataFactorySettings() resourceID := FactoryProperties.ID diagsettingsClient:= getDiagsettingsClient() diagnosticSettings, _ := diagsettingsClient.Get(ctx, resourceID, diagSettingsName) return diagnosticSettings }

//Test Case for Diagnostic settings Logs category func TestFordiagsettingscategory(t testing.T){ diagnosticsettings := getDiagnosticSettings() fmt.Println("Logs that are enable- ") for i := 0; i<=2; i++ { val := (diagnosticsettings.DiagnosticSettings.Logs)[i].Enabled if assert.True(t, val, "These are true log categories that are enable."){ fmt.Println(i+1,". ", (*diagnosticsettings.DiagnosticSettings.Logs)[i].Category) } } }

ghost commented 4 years ago

Thanks for working with Microsoft on GitHub! Tell us how you feel about your experience using the reactions on this comment.