public void Instance_creates_mock_for_class_with_constructor_with_all_kinds_of_parameters()
		{
			var instance = new MockInstance(typeof(ClassWithConstructorWithAllKindsOfParameters));
			Assert.NotNull(instance.Value);
			var mock = Assert.IsType<Mock<ClassWithConstructorWithAllKindsOfParameters>>(instance.Mock);
			Assert.NotNull(mock.Object);
		}
		public void Instance_creates_mock_for_class_with_constructor_with_parameters_whose_classes_have_default_constructor()
		{
			var instance = new MockInstance(typeof(ClassWithConstructorParametersWhoseClassesHaveDefaultConstructor));
			Assert.NotNull(instance.Value);
			var mock = Assert.IsType<Mock<ClassWithConstructorParametersWhoseClassesHaveDefaultConstructor>>(instance.Mock);
			Assert.NotNull(mock.Object);
		}
		public void Instance_creates_mock_for_class_with_default_constructor_only()
		{
			var instance = new MockInstance(typeof(ClassWithDefaultConstructor1));
			Assert.NotNull(instance.Value);
			var mock = Assert.IsType<Mock<ClassWithDefaultConstructor1>>(instance.Mock);
			Assert.NotNull(mock.Object);
		}
		public void Instance_creates_mock_for_abstract_class()
		{
			var instance = new MockInstance(typeof(SomeAbstractClass));
			Assert.NotNull(instance.Value);
			var mock = Assert.IsType<Mock<SomeAbstractClass>>(instance.Mock);
			Assert.NotNull(mock.Object);
		}
		public void Instance_creates_mock_for_interface()
		{
			var instance = new MockInstance(typeof(ISomeInterface));
			Assert.NotNull(instance.Value);
			var mock = Assert.IsType<Mock<ISomeInterface>>(instance.Mock);
			Assert.NotNull(mock.Object);
		}
        public async Task <MockInstance> SaveAsync(string key, MockInstance mockInstance)
        {
            var mockBodyContent = mockInstance.Response.BodyContent;

            mockInstance.Response.BodyContent = mockBodyContent.ToBase64String();
            _logger.LogInformation($"Created Mock with RequestKey: {key}");
            return(await _mockStorage.SaveAsync(key, mockInstance));
        }