//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)
}
}
}
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) } } }