public void CreateSession_ReturnsSessionId()
        {
            // Arrange
            RestResource resource = new SessionResource();

            RestResponse response = new RestResponse()
            {
                StatusCode = HttpStatusCode.OK,
                Content = "serialisedResponse"
            };

            EsendexSession expectedResult = new EsendexSession()
            {
                Id = Guid.NewGuid()
            };

            mockRestClient
                .Setup(rc => rc.Post(resource))
                .Returns(response);

            mockSerialiser
                .Setup(s => s.Deserialise<EsendexSession>(response.Content))
                .Returns(expectedResult);

            // Act
            Guid actualSessionId = service.CreateSession();

            // Assert
            Assert.AreEqual(expectedResult.Id, actualSessionId);
        }
        /// <summary>
        /// Creates a System.Guid instance that contains the session id.
        /// </summary>
        /// <returns>A System.Guid instance that contains the session id.</returns>
        /// <exception cref="System.Net.WebException"></exception>
        public Guid CreateSession()
        {
            RestResource resource = new SessionResource();

            var session = MakeRequest<EsendexSession>(HttpMethod.POST, resource);

            return session.Id;
        }
        public void DefaultConstructor()
        {
            // Arrange
            string expectedResourcePath = "session/constructor";

            // Act
            RestResource resource = new SessionResource();

            // Assert
            Assert.AreEqual(expectedResourcePath, resource.ResourcePath);
        }