private static void DeleteClaimDefinitionByType()
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("Prepare data");
                var postData = Helper.GetJsonObjectFromFile <ClaimDefinition>(PostOneDataFile);
                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("Create new Claim Definition");
                    request.Post(RequestObject.ClaimDefinitions, postData);

                    Console.WriteLine("Delete by Type Claim Definition " + postData.Name);
                    var response =
                        request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                                     RequestObject.ClaimDefinitions,
                                                     postData.ClaimType));
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                                 RequestObject.ClaimDefinitions, postData.ClaimType));
                }
                );
            }
        }
示例#2
0
        private static void PutClaimTransformationsNemIdConnection()
        {
            using (var request = new ApiWebRequest())
            {
                var connection              = Helper.GetJsonObjectFromFile <Connection>("SampleData/NemIdConnectionWithClaimTransformation.json");
                var claimTransformation     = Helper.GetJsonObjectFromFile <CreateExcludeTransformationRequest>("SampleData/ClaimTransformation.json");
                var claimTransformation1    = Helper.GetJsonObjectFromFile <CreateExcludeTransformationRequest>("SampleData/ClaimTransformation1.json");
                var putClaimTransformations = Helper.GetJsonObjectFromFile <object>("SampleData/PutClaimTransformations.json");

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    request.Post(RequestObject.ClaimTransformationExcludeIdentify, claimTransformation);
                    request.Post(RequestObject.ClaimTransformationExcludeIdentify, claimTransformation1);
                    request.Post(RequestObject.Connections, connection);


                    Console.WriteLine("-> Exercise Put many claim transformation NemId connection");
                    var response = request.Put(RequestObject.ConnectionsClaimTransformations, putClaimTransformations);
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Connections, connection.Name));
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.ClaimTransformationExcludeIdentify, claimTransformation.TransformationName));
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.ClaimTransformationExcludeIdentify, claimTransformation.TransformationName));
                }
                );
            }
        }
示例#3
0
        private static void DeleteConnection(string connectionName, string postDataFilePath)
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("-> Prepare data");
                var postData = Helper.GetJsonObjectFromFile <Connection>(postDataFilePath);

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create new {0}", connectionName);
                    request.Post(RequestObject.Connections, postData);

                    Console.WriteLine("-> Delete {0}", connectionName);
                    var response =
                        request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}", RequestObject.Connections,
                                                     postData.Name));
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}", RequestObject.Connections,
                                                 postData.Name));
                }
                );
            }
        }
        private static void DeleteUser()
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("Prepare data");
                var postData = Helper.GetJsonObjectFromFile <User>(PostDataFile01);
                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("Create new User");
                    request.Post(RequestObject.Users, postData);

                    Console.WriteLine("Delete User " + postData.Name);
                    var response =
                        request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                                     RequestObject.Users, postData.Id));
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}", RequestObject.Users,
                                                 postData.Name));
                }
                );
            }
        }
示例#5
0
        private static void GetGroups()
        {
            using (var request = new ApiWebRequest())
            {
                var groupsData = Helper.GetJsonObjectFromFile <List <Group> >("SampleData/Groups.json");

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create data");
                    request.Post(RequestObject.Groups, groupsData[0]);
                    request.Post(RequestObject.Groups, groupsData[1]);
                    request.Post(RequestObject.Groups, groupsData[2]);
                    request.Post(RequestObject.Groups, groupsData[3]);

                    Console.WriteLine("-> Exercise Get");
                    var response = request.Get(RequestObject.Groups);
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Groups, groupsData[0].Name));
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Groups, groupsData[1].Name));
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Groups, groupsData[2].Name));
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Groups, groupsData[3].Name));
                }
                );
            }
        }
        private static void DeleteClaimDefinitionsManyByType()
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("Prepare data");
                var postData = Helper.GetJsonObjectFromFile <ClaimDefinition[]>(PostManyDataFile);
                var delData  = Helper.GetJsonObjectFromFile <JArray>(DelDataFile);
                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    request.Post(RequestObject.ClaimDefinitionsMany, postData);

                    Console.WriteLine("Delete Claim Definitions");
                    var response =
                        request.Delete(
                            string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                          RequestObject.ClaimDefinitions, RequestObject.ClaimTypes), delData);
                    return(response);
                },
                    () =>
                {
                    request.Delete(
                        string.Format(CultureInfo.InvariantCulture, "{0}/{1}", RequestObject.ClaimDefinitions,
                                      RequestObject.ClaimTypes), delData);
                }
                );
            }
        }
        private static void DeleteGenericConnection()
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("Prepare data");
                var postData01 = Helper.GetJsonObjectFromFile <Connection>(PostDataFile01);

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("Create new Generic connections");
                    request.Post(RequestObject.Connections, postData01);

                    Console.WriteLine("Delete Generic connection " + postData01.Name);
                    var response =
                        request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                                     RequestObject.Connections, postData01.Name));
                    return(response);
                },
                    () =>
                    request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                                 RequestObject.Connections, postData01.Name))
                );
            }
        }
        private static void DeleteOrganizations()
        {
            using (var request = new ApiWebRequest())
            {
                var organizationsData = Helper.GetJsonObjectFromFile <List <Organization> >("SampleData/Organizations.json");

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create data");
                    request.Post(RequestObject.Organizations, organizationsData[0]);
                    request.Post(RequestObject.Organizations, organizationsData[1]);
                    request.Post(RequestObject.Organizations, organizationsData[2]);
                    request.Post(RequestObject.Organizations, organizationsData[3]);

                    Console.WriteLine("-> Exercise Delete many");
                    var deletedGroups = new[]
                    {
                        organizationsData[1].Name, organizationsData[2].Name, organizationsData[3].Name, organizationsData[0].Name
                    };
                    var response = request.Delete(RequestObject.OrganizationsMany, deletedGroups);
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Organizations, organizationsData[0].Name));
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Organizations, organizationsData[1].Name));
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Organizations, organizationsData[2].Name));
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Organizations, organizationsData[3].Name));
                }
                );
            }
        }
        private static void GetCertificate(string resourceName, string postDataFilePath)
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("-> Prepare data");
                var postData = Helper.GetJsonObjectFromFile <JObject>(postDataFilePath);
                var rawData  = (string)postData["RawData"];

                var cert = new X509Certificate2(Convert.FromBase64String(rawData));
                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create new {0}", resourceName);
                    var response = request.Post(RequestObject.Certificate, postData);

                    Console.WriteLine("-> Get {0}", resourceName);
                    response = request.Get(string.Join("/", RequestObject.Certificate, cert.Thumbprint));
                    return(response);
                },
                    () =>
                    request.Delete(string.Join("/", RequestObject.Certificate,
                                               string.Format(CultureInfo.InvariantCulture, "{0}?forceDeleteInUse=true", cert.Thumbprint)))
                );
            }
        }
        private static void PostManyCertificate(string resourceName, string postDataFilePath)
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("-> Prepare data");
                var thumprints = new List <string>();
                var postData   = Helper.GetJsonObjectFromFile <JArray>(postDataFilePath);

                foreach (var data in postData)
                {
                    var rawData = (string)data["RawData"];
                    var cert    = new X509Certificate2(Convert.FromBase64String(rawData));
                    thumprints.Add(cert.Thumbprint);
                }

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Post {0}", resourceName);
                    var response = request.Post(string.Join("/", RequestObject.Certificate, "many"), postData);
                    return(response);
                },
                    () =>
                    request.Delete(string.Join("/", RequestObject.Certificate, "many?forceDeleteInUse=true"),
                                   thumprints)
                );
            }
        }
        private static void PutOrganization()
        {
            using (var request = new ApiWebRequest())
            {
                var organizationData = Helper.GetJsonObjectFromFile <Organization>("SampleData/Organization.json");

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create data");
                    request.Post(RequestObject.Organizations, organizationData);

                    Console.WriteLine("-> Exercise Put");
                    organizationData.Description                    = "OrganizationDescriptionUpdated";
                    organizationData.DisplayName                    = "OrganizationDisplayNameUpdated";
                    organizationData.ExpiryDisallowLoginDays        = 99;
                    organizationData.ForceResetPasswordDefaultValue = true;
                    organizationData.PasswordExpiryDays             = 100;
                    var response = request.Put(RequestObject.Organizations, organizationData);
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Organizations, organizationData.Name));
                }
                );
            }
        }
        private static void SearchUser()
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("Prepare data");
                var postData   = Helper.GetJsonObjectFromFile <User[]>(PostMassDataFile);
                var searchData = Helper.GetJsonObjectFromFile <JObject>(SearchDataFile);
                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("Create new Users");
                    request.Post(RequestObject.MassUsers, postData);

                    Console.WriteLine("Search User");
                    var response = request.Post(RequestObject.UsersSearch, searchData);
                    return(response);
                },
                    () =>
                {
                    List <Guid> delData = (from user in postData select new Guid(user.Id)).ToList <Guid>();
                    request.Delete(RequestObject.MassUsers, delData);
                }
                );
            }
        }
        private static void PutMassUsers()
        {
            using (var request = new ApiWebRequest())
            {
                Console.WriteLine("Prepare data");
                var postData = Helper.GetJsonObjectFromFile <User[]>(PostMassDataFile);
                var putData  = Helper.GetJsonObjectFromFile <User[]>(PutMassDataFile);
                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    request.Post(RequestObject.MassUsers, postData);

                    Console.WriteLine("Put Mass User");
                    HttpResponseMessage response = request.Put(RequestObject.MassUsers, putData);
                    return(response);
                },
                    () =>
                {
                    List <Guid> delData = (from user in putData select new Guid(user.Id)).ToList <Guid>();
                    request.Delete(RequestObject.MassUsers, delData);
                }
                );
            }
        }
示例#14
0
        private static void PutGroup()
        {
            using (var request = new ApiWebRequest())
            {
                var groupData = Helper.GetJsonObjectFromFile <Group>("SampleData/Group.json");

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create data");
                    request.Post(RequestObject.Groups, groupData);

                    Console.WriteLine("-> Exercise Put");
                    groupData.Description          = "GroupDescriptionUpdated";
                    groupData.ClaimValues[0].Value = "OrganizationAdmin";
                    groupData.ClaimValues[1].Value = "ClaimTransformationAdmin";
                    var response = request.Put(RequestObject.Groups, groupData);
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Groups, groupData.Name));
                }
                );
            }
        }
 private static void GetClaimDefinitionById()
 {
     using (var request = new ApiWebRequest())
     {
         Console.WriteLine("Prepare data");
         var postData = Helper.GetJsonObjectFromFile <ClaimDefinition>(PostOneDataFile);
         RestApiCaller.CallAndHandleError
         (
             () =>
         {
             Console.WriteLine("Create new Claim Definition");
             var postResponse = request.Post(RequestObject.ClaimDefinitions, postData);
             string id        = ExtractClaimAttributeFromResult(postResponse, IdentifyJsonProperties.Id);
             Console.WriteLine("Get Claim Definition");
             var response = request.Get(string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                                      RequestObject.ClaimDefinitions, id));
             return(response);
         },
             () =>
         {
             request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                          RequestObject.ClaimDefinitions, postData.ClaimType));
         }
         );
     }
 }
        private static void PutOneTimePasswordConnection()
        {
            using (var request = new ApiWebRequest())
            {
                var connection       = Helper.GetJsonObjectFromFile <Connection>("SampleData/OneTimePasswordConnection.json");
                var connectionUpdate = Helper.GetJsonObjectFromFile <Connection>("SampleData/OneTimePasswordConnectionUpdate.json");


                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create data");
                    request.Post(RequestObject.Connections, connection);

                    Console.WriteLine("-> Exercise PUT One Time Password Connection ");
                    var response = request.Put(RequestObject.Connections, connectionUpdate);
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Connections, connection.Name));
                }
                );
            }
        }
        private static void DeleteOrganization()
        {
            using (var request = new ApiWebRequest())
            {
                var organizationData = Helper.GetJsonObjectFromFile <Organization>("SampleData/Organization.json");

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create data");
                    request.Post(RequestObject.Organizations, organizationData);

                    Console.WriteLine("-> Exercise Delete");
                    var response = request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Organizations, organizationData.Name));
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Organizations, organizationData.Name));
                }
                );
            }
        }
 private static void DeleteOrganization()
 {
     using (var request = new ApiWebRequest())
     {
         var postData = Helper.GetJsonObjectFromFile <Organization>(OrganizationDataFile);
         RestApiCaller.CallAndHandleError
         (
             () =>
         {
             Console.WriteLine("Clean up organizations");
             HttpResponseMessage message =
                 request.Delete(string.Format(CultureInfo.InvariantCulture,
                                              "{0}/{1}", RequestObject.Organizations, postData.Name));
             return(message);
         },
             () => { }
         );
     }
 }
示例#19
0
        private static void PostLinkedInConnection()
        {
            using (var request = new ApiWebRequest())
            {
                var connection = Helper.GetJsonObjectFromFile <Connection>("SampleData/PostLinkedInConnectionSample.json");

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Exercise POST LinkedIn connection");
                    return(request.Post(RequestObject.Connections, connection));
                },
                    () =>
                    request.Delete(string.Format(CultureInfo.InvariantCulture, "{0}/{1}", RequestObject.Connections,
                                                 connection.Name))
                );
            }
        }
示例#20
0
        private static void GetCertificateNemIdConnection()
        {
            using (var request = new ApiWebRequest())
            {
                var connection = Helper.GetJsonObjectFromFile <Connection>("SampleData/NemIdConnection.json");

                RestApiCaller.CallAndHandleError
                (
                    () =>
                {
                    Console.WriteLine("-> Create data");
                    request.Post(RequestObject.Connections, connection);

                    Console.WriteLine("-> Exercise GET certificate for NemId connection");
                    var response = request.Get(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.ConnectionsCertificate, connection.Name));
                    return(response);
                },
                    () =>
                {
                    request.Delete(string.Format(CultureInfo.CurrentCulture, "{0}/{1}", RequestObject.Connections, connection.Name));
                }
                );
            }
        }