public void Cannot_access_Admin_service_by_default() { try { var response = BaseUri.AppendPath("requiresadmin").GetJsonFromUrl(); Assert.Fail("Should not allow access to protected resource"); } catch (Exception ex) { if (ex.IsUnauthorized() || ex.IsAny400()) //redirect to login { return; } throw; } }
public void Cannot_access_Admin_service_by_default() { try { BaseUri.AppendPath("requiresadmin").GetStringFromUrl(); Assert.Fail("Should not allow access to protected resource"); } catch (Exception ex) { if (ex.IsUnauthorized()) { return; } throw; } }
public void Can_access_Admin_service_with_AuthSecret() { BaseUri.AppendPath("requiresadmin").AddQueryParam("authsecret", AuthSecret).GetStringFromUrl(); }
private HttpStatusCode MakeRequest(RestfulObject <T> obj, out RestfulObject <T> responseObj) { //ISerializer<T> iSerializer = SerializerFactory.Create<T>( QueueSerializationFormat ); //Device.Log.Debug (string.QueueSerializationFormat ("Request Body: {0}", iSerializer.SerializeObject (obj.Object, MonoCross.Utilities.EncryptionMode.NoEncryption))); byte[] postBytes = Serializer.SerializeObjectToBytes(obj.Object, EncryptionMode.NoEncryption); var headers = MergeHeaders(obj); var body = Serializer.SerializeObject(obj.Object); // add OData Accept header if (Format == SerializationFormat.ODATA && !obj.PutPostDeleteHeaders.Contains("Accept")) { obj.PutPostDeleteHeaders.Add("Accept", "application/json"); } NetworkResponse retval = Device.Network.Poster.PostBytes(BaseUri.AppendPath(obj.TransactionEndpoint), postBytes, Serializer.ContentType, obj.Verb, headers, obj.Object, _responseTimeout); // if Rest returns type and verb Put/Post then convert response to type T // and call event with object to pass to subscriber (e.g. a provider) responseObj = default(RestfulObject <T>); if (retval.StatusCode == HttpStatusCode.OK || retval.StatusCode == HttpStatusCode.Created || retval.StatusCode == HttpStatusCode.Accepted || retval.StatusCode == HttpStatusCode.NoContent) { if (RequestReturnsObject) { if (obj.Verb == HttpVerb.Post || (obj.Verb == HttpVerb.Put && Format != SerializationFormat.ODATA)) { obj.ExpirationDate = retval.Expiration; obj.AttemptRefreshDate = retval.AttemptToRefresh; if (retval.ResponseBytes != null) { T returnObj = Serializer.DeserializeObject(retval.ResponseBytes, EncryptionMode.NoEncryption); if (returnObj == null) { responseObj = obj.Clone(returnObj); return(retval.StatusCode); } responseObj = obj.Clone(returnObj); } else { responseObj = obj.Clone(default(T)); } } else if (obj.Verb == HttpVerb.Delete || (obj.Verb == HttpVerb.Put && Format == SerializationFormat.ODATA)) { responseObj = obj.Clone(obj.Object); // set response object to return if DELETE or OData PUT } } else { responseObj = obj.Clone(obj.Object); obj.ExpirationDate = retval.Expiration; obj.AttemptRefreshDate = retval.AttemptToRefresh; } //if ( RequestReturnsObject && ( obj.Verb == HttpVerb.Post || obj.Verb == HttpVerb.Put ) ) //{ // T returnObj = iSerializer.DeserializeObject( retval.ResponseString, Core.Utilities.EncryptionMode.NoEncryption ); // if ( returnObj == null ) // return retval.StatusCode; // obj.ExpirationDate = retval.Expiration; // obj.AttemptRefreshDate = retval.AttemptToRefresh; // responseObj = obj.Clone( returnObj ); //} } return(retval.StatusCode); }