Added some RestEase interfaces

This commit is contained in:
Stef Heyenrath
2017-05-23 21:56:53 +02:00
parent 08fd94c081
commit 3c22526905
5 changed files with 119 additions and 1 deletions

View File

@@ -0,0 +1,51 @@
using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using WireMock.Admin.Mappings;
using WireMock.Admin.Settings;
namespace WireMock.Client
{
/// <summary>
/// The RestEase interface which defines all admin commands.
/// </summary>
public interface IFluentMockServerAdmin
{
/// <summary>
/// Authentication header
/// </summary>
[Header("Authorization")]
AuthenticationHeaderValue Authorization { get; set; }
/// <summary>
/// Get the settings.
/// </summary>
/// <returns>SettingsModel</returns>
[Get("__admin/settings")]
Task<SettingsModel> GetSettingsAsync();
/// <summary>
/// Post the settings
/// </summary>
/// <param name="settings">SettingsModel</param>
[Post("__admin/settings")]
Task PostSettingsAsync([Body] SettingsModel settings);
/// <summary>
/// Get the mappings.
/// </summary>
/// <returns>MappingModels</returns>
[Get("__admin/mappings")]
Task<IList<MappingModel>> GetMappingsAsync();
/// <summary>
/// Get a mappings based on the guid
/// </summary>
/// <param name="guid">The Guid</param>
/// <returns>MappingModel</returns>
[Get("__admin/mappings/{guid}")]
Task<MappingModel> GetMappingAsync([Path] Guid guid);
}
}