void AssertMetricRecorded(DeveloperEventType.Types.Type type, DeveloperEventStatus.Types.Code status) { _metrics.Received().RecordEvent( type, Arg.Is <DeveloperLogEvent>(p => p.StatusCode == status && p.DebugSessionIdStr == _testDebugSessionId)); }
public void Record_Error(Type exceptionType, DeveloperEventStatus.Types.Code statusCode) { Assert.Throws(exceptionType, delegate { actionRecorder.RecordToolAction(MetricActionType, () => { throw (Exception)Activator.CreateInstance(exceptionType, "Test"); }); }); logEvent.StatusCode = statusCode; metrics.Received(1).RecordEvent(EventType, logEvent); AssertTimerUsedCorrectly(); }
public void Record_RpcError(StatusCode rpcCode, DeveloperEventStatus.Types.Code statusCode) { Assert.Throws <CloudException>( delegate { actionRecorder.RecordToolAction(MetricActionType, delegate { try { throw new RpcException(new Status(rpcCode, "test")); } catch (RpcException e) { if (rpcCode != StatusCode.Unknown) { e.Data[ErrorData.ServiceNameKey] = FakeServiceName; e.Data[ErrorData.MethodNameKey] = FakeMethodName; } throw new CloudException("Test", e); } }); }); var expectedDetails = new GrpcServiceCallDetails { Status = new Status(rpcCode, null) }; if (rpcCode != StatusCode.Unknown) { expectedDetails.ServiceName = FakeServiceName; expectedDetails.ServiceMethod = FakeMethodName; } logEvent.StatusCode = statusCode; logEvent.GrpcErrorDetails = expectedDetails; metrics.Received(1).RecordEvent(EventType, logEvent); AssertTimerUsedCorrectly(); }