func TestWritingToAuditLogWhenDisabled(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() mockInfoLogger := mock_infologger.NewMockInfoLogger(ctrl) req, _ := http.NewRequest("GET", "foo", nil) cfg := &config.Config{ Cluster: dummyCluster, CredentialsAuditLogFile: "foo.txt", CredentialsAuditLogDisabled: true, } auditLogger := NewAuditLog(dummyContainerInstanceArn, cfg, mockInfoLogger) if auditLogger.GetCluster() != dummyCluster { t.Fatal("Cluster is not initialized properly") } if auditLogger.GetContainerInstanceArn() != dummyContainerInstanceArn { t.Fatal("ContainerInstanceArn is not initialized properly") } mockInfoLogger.EXPECT().Info(gomock.Any()).Times(0) auditLogger.Log(request.LogRequest{Request: req, ARN: taskARN}, dummyResponseCode, GetCredentialsEventType()) }
func TestWritingErrorsToAuditLog(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() mockInfoLogger := mock_infologger.NewMockInfoLogger(ctrl) req, _ := http.NewRequest("GET", "foo", nil) req.RemoteAddr = dummyRemoteAddress parsedUrl, err := url.Parse(dummyUrl) if err != nil { t.Fatal("error parsing dummyUrl") } req.URL = parsedUrl req.Header.Set("User-Agent", dummyUserAgent) cfg := &config.Config{ Cluster: dummyCluster, CredentialsAuditLogFile: "foo.txt", } auditLogger := NewAuditLog(dummyContainerInstanceArn, cfg, mockInfoLogger) if auditLogger.GetCluster() != dummyCluster { t.Fatal("Cluster is not initialized properly") } if auditLogger.GetContainerInstanceArn() != dummyContainerInstanceArn { t.Fatal("ContainerInstanceArn is not initialized properly") } mockInfoLogger.EXPECT().Info(gomock.Any()).Do(func(logLine string) { tokens := strings.Split(logLine, " ") if len(tokens) != (commonAuditLogEntryFieldCount + getCredentialsEntryFieldCount) { } verifyAuditLogEntryResult(logLine, "-", t) }) auditLogger.Log(request.LogRequest{Request: req, ARN: ""}, dummyResponseCode, GetCredentialsEventType()) }