Ejemplo n.º 1
0
        /// <summary>
        /// To update a database cluster's firewall rules (known as "trusted sources" in the control panel).
        /// Specify which resources should be able to open connections to the database.
        /// You may limit connections to specific Droplets, Kubernetes clusters, or IP addresses.
        /// When a tag is provided, any Droplet or Kubernetes node with that tag applied to it will have access.
        /// </summary>
        public Task UpdateFirewallRules(string databaseId, Models.Requests.UpdateDatabaseFirewallRules updateRules)
        {
            var parameters = new List <Parameter> {
                new Parameter("id", databaseId, ParameterType.UrlSegment)
            };

            return(_connection.ExecuteRaw("databases/{id}/firewall", parameters, updateRules, Method.PUT));
        }
        public void CorrectRequestForUpdateFirewallRules()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DatabasesClient(factory);

            var body = new Models.Requests.UpdateDatabaseFirewallRules();

            client.UpdateFirewallRules("1", body);

            var parameters = Arg.Is <List <Parameter> >(list => (string)list[0].Value == "1");

            factory.Received().ExecuteRaw("databases/{id}/firewall", parameters, body, Method.PUT);
        }