FluentMockServerSettings (#21)

This commit is contained in:
Stef Heyenrath
2017-03-20 17:22:09 +01:00
parent 7793330d1d
commit bd8e18b2c4
8 changed files with 305 additions and 44 deletions

View File

@@ -19,6 +19,51 @@ namespace WireMock.Net.Tests
{
private FluentMockServer _server;
[Test]
public void FluentMockServer_ReadStaticMapping_WithNonGuidFilename()
{
var guid = Guid.Parse("04ee4872-9efd-4770-90d3-88d445265d0d");
string title = "documentdb_root_title";
_server = FluentMockServer.Start();
_server.ReadStaticMapping("./__admin/mappings/documentdb_root.json");
var mappings = _server.Mappings.ToArray();
Check.That(mappings).HasSize(1);
Check.That(mappings.First().RequestMatcher).IsNotNull();
Check.That(mappings.First().Provider).IsNotNull();
Check.That(mappings.First().Guid).Equals(guid);
Check.That(mappings.First().Title).Equals(title);
}
[Test]
public void FluentMockServer_ReadStaticMapping_WithGuidFilename()
{
string guid = "00000002-ee28-4f29-ae63-1ac9b0802d86";
_server = FluentMockServer.Start();
_server.ReadStaticMapping("./__admin/mappings/" + guid + ".json");
var mappings = _server.Mappings.ToArray();
Check.That(mappings).HasSize(1);
Check.That(mappings.First().RequestMatcher).IsNotNull();
Check.That(mappings.First().Provider).IsNotNull();
Check.That(mappings.First().Guid).Equals(Guid.Parse(guid));
Check.That(mappings.First().Title).IsNullOrEmpty();
}
[Test]
public void FluentMockServer_ReadStaticMappings()
{
_server = FluentMockServer.Start(new FluentMockServerSettings { ReadStaticMappings = true });
var mappings = _server.Mappings.ToArray();
Check.That(mappings).HasSize(2);
}
[Test]
public void FluentMockServer_Admin_Mappings_Get()
{

View File

@@ -0,0 +1,50 @@
{
"Guid": "00000002-ee28-4f29-ae63-1ac9b0802d86",
"Priority": 0,
"Request": {
"Path": {
"Matchers": [
{
"Name": "ExactMatcher",
"Pattern": "/dbs"
}
]
},
"Methods": [
"post"
],
"Body": {
"Matcher": {
"Name": "WildcardMatcher",
"Pattern": "*db-abc*"
}
}
},
"Response": {
"StatusCode": 200,
"Body": "{\"_rid\":\"\",\"Databases\":[{\"id\":\"db-abc\",\"_rid\":\"hBYWAA==\",\"_self\":\"dbs/hBYWAA==/\",\"_etag\":\"\\\"00008e00-0000-0000-0000-58b94f910000\\\"\",\"_colls\":\"colls/\",\"_users\":\"users/\",\"_ts\":1488539514}],\"_count\":1}",
"BodyEncoding": {
"CodePage": 65001,
"EncodingName": "Unicode (UTF-8)",
"WebName": "utf-8"
},
"UseTransformer": false,
"Headers": {
"x-ms-schemaversion": "1.3",
"Date": "Mon, 06 Mar 2017 10:56:43 GMT",
"x-ms-activity-id": "5e39429d-7fcc-4b75-93d6-519b7c582772",
"x-ms-item-count": "1",
"x-ms-resource-usage": "databases=1;",
"x-ms-gatewayversion": "version=1.11.164.3",
"x-ms-xp-role": "2",
"x-ms-session-token": "0:25908",
"x-ms-serviceversion": "version=1.11.150.2",
"Strict-Transport-Security": "max-age=31536000",
"Server": "Microsoft-HTTPAPI/2.0",
"x-ms-last-state-change-utc": "Fri, 24 Feb 2017 11:35:16.053 GMT",
"Content-Type": "application/json",
"x-ms-request-charge": "4.68",
"x-ms-resource-quota": "databases=100;"
}
}
}

View File

@@ -0,0 +1,42 @@
{
"Guid": "04ee4872-9efd-4770-90d3-88d445265d0d",
"Title": "documentdb_root_title",
"Priority": 0,
"Request": {
"Path": {
"Matchers": [
{
"Name": "ExactMatcher",
"Pattern": "/"
}
]
},
"Methods": [
"get"
],
"Body": {}
},
"Response": {
"StatusCode": 200,
"Body": "{\"_self\":\"\",\"id\":\"abc\",\"_rid\":\"abc.documents.azure.com\",\"media\":\"//media/\",\"addresses\":\"//addresses/\",\"_dbs\":\"//dbs/\",\"writableLocations\":[{\"name\":\"West Europe\",\"databaseAccountEndpoint\":\"http://localhost:9090/\"}],\"readableLocations\":[{\"name\":\"West Europe\",\"databaseAccountEndpoint\":\"http://localhost:9090/\"}],\"userReplicationPolicy\":{\"asyncReplication\":false,\"minReplicaSetSize\":3,\"maxReplicasetSize\":4},\"userConsistencyPolicy\":{\"defaultConsistencyLevel\":\"Session\"},\"systemReplicationPolicy\":{\"minReplicaSetSize\":3,\"maxReplicasetSize\":4},\"readPolicy\":{\"primaryReadCoefficient\":1,\"secondaryReadCoefficient\":1},\"queryEngineConfiguration\":\"{\\\"maxSqlQueryInputLength\\\":30720,\\\"maxJoinsPerSqlQuery\\\":5,\\\"maxLogicalAndPerSqlQuery\\\":500,\\\"maxLogicalOrPerSqlQuery\\\":500,\\\"maxUdfRefPerSqlQuery\\\":2,\\\"maxInExpressionItemsCount\\\":8000,\\\"queryMaxInMemorySortDocumentCount\\\":500,\\\"maxQueryRequestTimeoutFraction\\\":0.9,\\\"sqlAllowNonFiniteNumbers\\\":false,\\\"sqlAllowAggregateFunctions\\\":true,\\\"sqlAllowSubQuery\\\":false,\\\"allowNewKeywords\\\":true,\\\"sqlAllowLike\\\":false,\\\"maxSpatialQueryCells\\\":12,\\\"spatialMaxGeometryPointCount\\\":256,\\\"sqlAllowTop\\\":true,\\\"enableSpatialIndexing\\\":true}\"}",
"BodyEncoding": {
"CodePage": 65001,
"EncodingName": "Unicode (UTF-8)",
"WebName": "utf-8"
},
"UseTransformer": false,
"Headers": {
"x-ms-databaseaccount-reserved-mb": "0",
"x-ms-databaseaccount-consumed-mb": "0",
"Strict-Transport-Security": "max-age=31536000",
"x-ms-max-media-storage-usage-mb": "2048",
"x-ms-gatewayversion": "version=1.11.164.3",
"x-ms-media-storage-usage-mb": "0",
"x-ms-databaseaccount-provisioned-mb": "0",
"Content-Location": "http://localhost:9090/",
"Date": "Mon, 06 Mar 2017 10:56:40 GMT",
"Content-Type": "application/json",
"Server": "Microsoft-HTTPAPI/2.0"
}
}
}