forked from ServiceStack/ServiceStack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServiceClientTests.cs
More file actions
98 lines (77 loc) · 3.13 KB
/
Copy pathServiceClientTests.cs
File metadata and controls
98 lines (77 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
using System.Net;
using System.Threading.Tasks;
using NUnit.Framework;
using ServiceStack.WebHost.Endpoints.Tests.Support;
using ServiceStack.WebHost.Endpoints.Tests.Support.Host;
using ServiceStack.WebHost.Endpoints.Tests.Support.Operations;
using ServiceStack.WebHost.Endpoints.Tests.Support.Services;
namespace ServiceStack.WebHost.Endpoints.Tests
{
[TestFixture]
public class ServiceClientTests
: ServiceClientTestBase
{
/// <summary>
/// These tests require admin privillages
/// </summary>
/// <returns></returns>
public override AppHostHttpListenerBase CreateListener()
{
return new TestAppHostHttpListener();
}
private JsonServiceClient client;
[SetUp]
public void SetUp()
{
client = new JsonServiceClient(BaseUrl);
}
[Test]
public void Can_GetCustomers()
{
var request = new GetCustomer { CustomerId = 5 };
Send<GetCustomerResponse>(request,
response => Assert.That(response.Customer.Id, Is.EqualTo(request.CustomerId)));
}
[Test]
public void Does_add_HttpHeaders_for_Get_Sync()
{
client.Headers.Add("Foo", "Bar");
var response = client.Get(new EchoRequestInfo());
Assert.That(response.Headers["Foo"], Is.EqualTo("Bar"));
}
[Test]
public async Task Does_add_HttpHeaders_for_Get_Async()
{
client.Headers.Add("Foo", "Bar");
var response = await client.GetAsync(new EchoRequestInfo());
Assert.That(response.Headers["Foo"], Is.EqualTo("Bar"));
}
[Test]
public async Task Does_add_HttpHeaders_in_RequestFilter_for_Get_Async()
{
client.RequestFilter = req => req.Headers.Add("Foo", "Bar");
var response = await client.GetAsync(new EchoRequestInfo());
Assert.That(response.Headers["Foo"], Is.EqualTo("Bar"));
}
[Test]
public async Task Can_call_return_void()
{
client.Post(new ReturnsVoid { Message = "Foo" });
Assert.That(TestAsyncService.ReturnVoidMessage, Is.EqualTo("Foo"));
await client.PostAsync(new ReturnsVoid { Message = "Foo" });
Assert.That(TestAsyncService.ReturnVoidMessage, Is.EqualTo("Foo"));
using (client.Post<HttpWebResponse>(new ReturnsVoid { Message = "Bar" })) { }
Assert.That(TestAsyncService.ReturnVoidMessage, Is.EqualTo("Bar"));
}
[Test]
public async Task Can_call_return_HttpWebResponse()
{
client.Post(new ReturnsWebResponse { Message = "Foo" });
Assert.That(TestAsyncService.ReturnWebResponseMessage, Is.EqualTo("Foo"));
await client.PostAsync(new ReturnsWebResponse { Message = "Foo" });
Assert.That(TestAsyncService.ReturnWebResponseMessage, Is.EqualTo("Foo"));
using (client.Post<HttpWebResponse>(new ReturnsWebResponse { Message = "Bar" })) { }
Assert.That(TestAsyncService.ReturnWebResponseMessage, Is.EqualTo("Bar"));
}
}
}