public void Fetch_cookie_from_dreamcontext_jar_with_local_uri() { using (DreamHostInfo hostInfo = DreamTestHelper.CreateRandomPortHost(new XDoc("config").Elem("uri.public", "/foo/bar"))) { MockServiceInfo mock = MockService.CreateMockService(hostInfo); List <DreamCookie> cookies = null; mock.Service.CatchAllCallback = delegate(DreamContext context, DreamMessage request, Result <DreamMessage> response2) { context.Service.Cookies.Update(new DreamCookie("public", "bar", mock.AtLocalHost.Uri), null); context.Service.Cookies.Update(new DreamCookie("local", "baz", mock.AtLocalMachine.Uri), null); cookies = context.Service.Cookies.Fetch(mock.AtLocalHost.Uri); response2.Return(DreamMessage.Ok()); }; mock.AtLocalHost.Post(); bool foundPublic = false; bool foundLocal = false; foreach (DreamCookie cookie in cookies) { switch (cookie.Name) { case "public": foundPublic = true; break; case "local": foundLocal = true; break; } } Assert.IsTrue(foundPublic, "didn't find public"); Assert.IsTrue(foundLocal, "didn't find local"); } }
public void FixtureSetup() { _hostInfo = DreamTestHelper.CreateRandomPortHost(new XDoc("config") .Elem("ip", "foo") .Elem("ip", "bar")); _service1 = MockService.CreateMockService(_hostInfo); _service2 = MockService.CreateMockService(_hostInfo); }
public void FixtureSetup() { _hostInfo = DreamTestHelper.CreateRandomPortHost(new XDoc("config") .Elem("ip", "foo:11709") .Elem("ip", "bar:47583")); _service1 = MockService.CreateMockService(_hostInfo); _service2 = MockService.CreateMockService(_hostInfo); }
private MockServiceInfo GetMockService() { if (_mockService == null) { _hostInfo = DreamTestHelper.CreateRandomPortHost(new XDoc("config")); _mockService = MockService.CreateMockService(_hostInfo); } return(_mockService); }
public void SetCookie_header_passed_from_service_to_external_but_rooted_at_external() { using (DreamHostInfo hostInfo = DreamTestHelper.CreateRandomPortHost(new XDoc("config").Elem("uri.public", "/foo/bar"))) { MockServiceInfo mock = MockService.CreateMockService(hostInfo); mock.Service.CatchAllCallback = delegate(DreamContext context, DreamMessage request, Result <DreamMessage> response2) { DreamMessage msg = DreamMessage.Ok(); msg.Cookies.Add(DreamCookie.NewSetCookie("foo", "bar", context.Uri.AsPublicUri().WithoutPathQueryFragment())); response2.Return(msg); }; mock.AtLocalHost.Post(); List <DreamCookie> cookies = Plug.GlobalCookies.Fetch(mock.AtLocalHost); Assert.AreEqual(1, cookies.Count); Assert.AreEqual("/", cookies[0].Path); } }
public void SetCookie_header_passed_from_service_to_external_uses_public_uri() { using (DreamHostInfo hostInfo = DreamTestHelper.CreateRandomPortHost()) { MockServiceInfo mock = MockService.CreateMockService(hostInfo); mock.Service.CatchAllCallback = delegate(DreamContext context, DreamMessage request, Result <DreamMessage> response2) { DreamMessage msg = DreamMessage.Ok(); msg.Cookies.Add(DreamCookie.NewSetCookie("foo", "bar", context.Uri)); response2.Return(msg); }; mock.AtLocalHost.Post(); List <DreamCookie> cookies = Plug.GlobalCookies.Fetch(mock.AtLocalHost); Assert.AreEqual(1, cookies.Count); Assert.AreEqual(mock.AtLocalHost.Uri, cookies[0].Uri); } }
public void SetCookie_header_passed_from_service_over_webrequest_uses_public_uri() { using (DreamHostInfo hostInfo = DreamTestHelper.CreateRandomPortHost()) { MockServiceInfo mock = MockService.CreateMockService(hostInfo); mock.Service.CatchAllCallback = delegate(DreamContext context, DreamMessage request, Result <DreamMessage> response2) { DreamMessage msg = DreamMessage.Ok(); msg.Cookies.Add(DreamCookie.NewSetCookie("foo", "bar", context.Uri)); response2.Return(msg); }; XUri localUri = mock.AtLocalHost.Uri; HttpWebRequest r = WebRequest.Create(localUri.ToString()) as HttpWebRequest; CookieContainer cookies = new CookieContainer(); r.CookieContainer = cookies; r.Method = "GET"; HttpWebResponse response = (HttpWebResponse)r.GetResponse(); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.AreEqual(1, response.Cookies.Count); Assert.AreEqual("localhost", response.Cookies[0].Domain); Assert.AreEqual(mock.AtLocalHost.Uri.Path, response.Cookies[0].Path); } }
private void SetupService(bool memorizeAliases) { DreamHostInfo host; if (memorizeAliases) { host = _hostAliasMemorize = DreamTestHelper.CreateRandomPortHost(); } else { host = _hostNoAliasMemorize = DreamTestHelper.CreateRandomPortHost(new XDoc("config").Elem("memorize-aliases", false)); } _service = MockService.CreateMockService(host); _calledPaths = new List <string>(); _service.Service.CatchAllCallback = (context, request, result) => { _calledPaths.Add(context.GetSuffixes(UriPathFormat.Original).First()); var call = context.GetParam("call", null); if (!string.IsNullOrEmpty(call)) { Plug.New(call).Get(); } result.Return(DreamMessage.Ok()); }; _external = new XUri("http://external1/").WithPort(_service.AtLocalHost.Uri.Port).At(_service.AtLocalHost.Uri.Segments); //_ext2 = new XUri("http://external2/").WithPort(_service.AtLocalHost.Uri.Port).At(_service.AtLocalHost.Uri.Segments); _externalCalled = 0; MockPlug.Register(_external, (plug, verb, uri, request, response) => { _externalCalled++; response.Return(DreamMessage.Ok()); }, 100); //_ext2called = 0; //MockPlug.Register(_ext2, (plug, verb, uri, request, response) => { // _ext2called++; // response.Return(DreamMessage.Ok()); //}, 100); Plug.New(_external).Get(); //Plug.New(_ext2).Get(); //return _calledPaths; }
public void SetCookie_header_passed_between_services_uses_local_uri_on_host_non_root_public_uri() { using (DreamHostInfo hostInfo = DreamTestHelper.CreateRandomPortHost(new XDoc("config").Elem("uri.public", "/foo/bar"))) { MockServiceInfo mock1 = MockService.CreateMockService(hostInfo); MockServiceInfo mock2 = MockService.CreateMockService(hostInfo); List <DreamCookie> cookies = null; mock1.Service.CatchAllCallback = delegate(DreamContext context, DreamMessage request, Result <DreamMessage> response2) { DreamMessage r = Plug.New(mock2.AtLocalMachine).Post(DreamMessage.Ok()); cookies = context.Service.Cookies.Fetch(mock2.AtLocalMachine); Assert.AreEqual(1, cookies.Count); Assert.AreEqual(mock2.AtLocalMachine.Uri, cookies[0].Uri); response2.Return(DreamMessage.Ok()); }; mock2.Service.CatchAllCallback = delegate(DreamContext context, DreamMessage request, Result <DreamMessage> response2) { DreamMessage msg = DreamMessage.Ok(); msg.Cookies.Add(DreamCookie.NewSetCookie("foo", "bar", context.Uri)); response2.Return(msg); }; mock1.AtLocalHost.Post(); Assert.AreEqual(1, cookies.Count); } }
public void Can_provide_list_of_args_as_repeated_params_to_feature() { MockServiceInfo mock = MockService.CreateMockService(_hostInfo); mock.Service.CatchAllCallback = delegate(DreamContext context, DreamMessage request, Result <DreamMessage> response2) { XDoc msg = new XDoc("ids"); foreach (KeyValuePair <string, string> kv in context.GetParams()) { if (kv.Key == "id") { msg.Elem("id", kv.Value); } } response2.Return(DreamMessage.Ok(msg)); }; Plug p = mock.AtLocalHost; int n = 100; List <string> ids = new List <string>(); for (int i = 0; i < n; i++) { p = p.With("id", i); ids.Add(i.ToString()); } DreamMessage result = p.GetAsync().Wait(); Assert.IsTrue(result.IsSuccessful); List <string> seen = new List <string>(); foreach (XDoc id in result.ToDocument()["id"]) { string v = id.AsText; Assert.Contains(v, ids); Assert.IsFalse(seen.Contains(v)); seen.Add(v); } Assert.AreEqual(ids.Count, seen.Count); }
private MockServiceInfo GetMockService() { if(_mockService == null) { _hostInfo = DreamTestHelper.CreateRandomPortHost(new XDoc("config")); _mockService = MockService.CreateMockService(_hostInfo); } return _mockService; }
public void Setup() { _s3ClientMock = new Mock<IAmazonS3Client>(); _clientProxy.Client = _s3ClientMock.Object; _mockService = MockService.CreateMockService(_hostInfo); _storageRoot = _mockService.Service.Storage.Uri.LastSegment; }
public void Setup() { _s3ClientMock = null; _mockService = MockService.CreateMockServiceWithPrivateStorage(_hostInfo); _storageRoot = _mockService.Service.Storage.Uri.LastSegment; }
private void SetupService(bool memorizeAliases) { DreamHostInfo host; if(memorizeAliases) { host = _hostAliasMemorize = DreamTestHelper.CreateRandomPortHost(); } else { host = _hostNoAliasMemorize = DreamTestHelper.CreateRandomPortHost(new XDoc("config").Elem("memorize-aliases", false)); } _service = MockService.CreateMockService(host); _calledPaths = new List<string>(); _service.Service.CatchAllCallback = (context, request, result) => { _calledPaths.Add(context.GetSuffixes(UriPathFormat.Original).First()); var call = context.GetParam("call", null); if(!string.IsNullOrEmpty(call)) { Plug.New(call).Get(); } result.Return(DreamMessage.Ok()); }; _external = new XUri("http://external1/").WithPort(_service.AtLocalHost.Uri.Port).At(_service.AtLocalHost.Uri.Segments); //_ext2 = new XUri("http://external2/").WithPort(_service.AtLocalHost.Uri.Port).At(_service.AtLocalHost.Uri.Segments); _externalCalled = 0; MockPlug.Register(_external, (plug, verb, uri, request, response) => { _externalCalled++; response.Return(DreamMessage.Ok()); }, 100); //_ext2called = 0; //MockPlug.Register(_ext2, (plug, verb, uri, request, response) => { // _ext2called++; // response.Return(DreamMessage.Ok()); //}, 100); Plug.New(_external).Get(); //Plug.New(_ext2).Get(); //return _calledPaths; }