Esempio n. 1
0
        protected TestWithOutput(ITestOutputHelper iTestOutputHelper)
        {
            Logger = new XunitLogger(iTestOutputHelper);
            var nowUtc = DateTimeOffset.UtcNow;

            StartEpoch = nowUtc.AddDays(-30).ToUnixTimeSeconds();
            EndEpoch   = nowUtc.ToUnixTimeSeconds();
            var configuration       = LoadConfiguration("appsettings.json");
            var autoTaskCredentials = configuration.AutoTaskCredentials;

            if (autoTaskCredentials is null)
            {
                throw new System.Configuration.ConfigurationErrorsException("Missing configuration.");
            }
            Client = new Client(
                autoTaskCredentials.Username,
                autoTaskCredentials.Password,
                autoTaskCredentials.IntegrationCode,
                Logger
                );
            AutoTaskClient = new AutoTaskClient(new AutoTaskConfiguration
            {
                Username        = autoTaskCredentials.Username,
                Password        = autoTaskCredentials.Password,
                IntegrationCode = autoTaskCredentials.IntegrationCode
            });
            Stopwatch = Stopwatch.StartNew();
        }
Esempio n. 2
0
        public async void AutoTaskClient_Query()
        {
            var result = await AutoTaskClient.GetAsync <ExpenseReport>(
                new Filter
            {
                Items = new List <FilterItem>
                {
                    new FilterItem {
                        Field = "SubmitterId", Operator = Operator.Equals, Value = "4"
                    },
                    //new FilterItem{Field = "id", Operator = Operator.Equals, Value = "773" },
                }
            }
                ).ConfigureAwait(false);

            Assert.NotNull(result);
        }
Esempio n. 3
0
        public async void AutoTaskClientCurrency_Query()
        {
            var result = await AutoTaskClient.GetAsync <Currency>(
                new Filter
            {
                Items = new List <FilterItem>
                {
                    new FilterItem {
                        Field = "id", Operator = Operator.Equals, Value = "5"
                    },                                                                                                  // Resolved
                }
            }
                ).ConfigureAwait(false);

            Assert.NotNull(result);
            Assert.Empty(result);
        }
Esempio n. 4
0
        public async void AutoTaskClient_Query()
        {
            var result = await AutoTaskClient.GetAsync <Ticket>(
                new Filter
            {
                Items = new List <FilterItem>
                {
                    new FilterItem
                    {
                        Field    = "UDF Problem Signature",
                        Operator = Operator.Equals,
                        Value    = "LMD15169"
                    },
                    new FilterItem
                    {
                        Field    = "ticketCategory",
                        Operator = Operator.Equals,
                        Value    = "2"
                    },
                    new FilterItem
                    {
                        Field    = "ticketType",
                        Operator = Operator.Equals,
                        Value    = "2"
                    },
                    new FilterItem {
                        Field = "Status", Operator = Operator.NotEquals, Value = "5"
                    },                                                                                                         // Complete
                    new FilterItem {
                        Field = "Status", Operator = Operator.NotEquals, Value = "29"
                    },                                                                                                          // Resolved
                    new FilterItem {
                        Field = "Status", Operator = Operator.NotEquals, Value = "34"
                    },                                                                                                          // Cancelled
                    new FilterItem {
                        Field = "Status", Operator = Operator.NotEquals, Value = "66"
                    },                                                                                                          // SD/NOC Responded
                }
            }
                ).ConfigureAwait(false);

            Assert.NotNull(result);
        }
Esempio n. 5
0
        protected TestWithOutput(ITestOutputHelper iTestOutputHelper, ILogger logger)
        {
            ITestOutputHelper = iTestOutputHelper;
            Logger            = logger;
            var nowUtc = DateTimeOffset.UtcNow;

            StartEpoch = nowUtc.AddDays(-30).ToUnixTimeSeconds();
            EndEpoch   = nowUtc.ToUnixTimeSeconds();
            var configuration       = LoadConfiguration("appsettings.json");
            var autoTaskCredentials = configuration.AutoTaskCredentials;

            Client = new Client(
                autoTaskCredentials.Username,
                autoTaskCredentials.Password,
                logger);
            AutoTaskClient = new AutoTaskClient(new AutoTaskConfiguration {
                Username = autoTaskCredentials.Username, Password = autoTaskCredentials.Password
            });
            Stopwatch = Stopwatch.StartNew();
        }
Esempio n. 6
0
        public async void AutoTaskClientTicketCost_Crud_Succeeds()
        {
            var resources = await AutoTaskClient.GetAsync <Ticket>(
                new Filter
            {
                Items = new List <FilterItem>
                {
                    new FilterItem {
                        Field = nameof(Ticket.TicketNumber), Operator = Operator.Equals, Value = "T20190626.0001"
                    },
                }
            }
                ).ConfigureAwait(false);

            Assert.Single(resources);
            var ticket = resources.Single();
            // We have a ticket

            var allocationCodes = await AutoTaskClient.GetAsync <AllocationCode>(
                new Filter
            {
                Items = new List <FilterItem>
                {
                    new FilterItem {
                        Field = nameof(AllocationCode.Name), Operator = Operator.Equals, Value = "Certify Expense"
                    },
                }
            }
                ).ConfigureAwait(false);

            Assert.Single(allocationCodes);
            var allocationCode = allocationCodes.Single();
            // We have an AllocationCode

            // Create a TicketCost
            var ticketCost = new TicketCost
            {
                Name             = "Test Cost",
                Description      = "Created by AutoTask.Api Unit Test",
                TicketID         = ticket.id,
                BillableAmount   = 100,
                Status           = 7,       // Delivered/Shipped Full
                AllocationCodeID = allocationCode.id,
                UnitQuantity     = 1,
                DatePurchased    = DateTime.UtcNow,
                CostType         = 1         // Operational (2 is Capitalised)
            };
            var createdTicketCost = await Client
                                    .CreateAsync(ticketCost)
                                    .ConfigureAwait(false);

            // Assert that there is a ticketcost assigned
            var result = await AutoTaskClient.GetAsync <TicketCost>(
                new Filter
            {
                Items = new List <FilterItem>
                {
                    new FilterItem {
                        Field = "id", Operator = Operator.Equals, Value = createdTicketCost.id.ToString()
                    },
                }
            }
                ).ConfigureAwait(false);

            Assert.NotNull(result);
            Assert.NotEmpty(result);

            // Delete the ticket cost
            await Client
            .DeleteAsync(createdTicketCost)
            .ConfigureAwait(false);


            // Assert that there is now NO ticketcost assigned
            var ticketCostMissingResult = await AutoTaskClient.GetAsync <TicketCost>(
                new Filter
            {
                Items = new List <FilterItem>
                {
                    new FilterItem {
                        Field = "id", Operator = Operator.Equals, Value = createdTicketCost.id.ToString()
                    },
                }
            }
                ).ConfigureAwait(false);

            Assert.NotNull(ticketCostMissingResult);
            Assert.Empty(ticketCostMissingResult);
        }
Esempio n. 7
0
        public async void CreateAndDelete_ValidData_WorksAsExpectedAsync()
        {
            var uniqueCode        = Guid.NewGuid().ToString();
            var ticketTitle       = "Test ticket title " + uniqueCode;
            var ticketDescription = "Test ticket description " + uniqueCode;

            var ticket = new Ticket
            {
                DueDateTime    = DateTimeOffset.UtcNow.AddHours(8).ToEstString(),
                TicketCategory = 2,
                TicketType     = 2,
                Title          = ticketTitle,
                Description    = ticketDescription,
                Status         = 1,
                Priority       = 3,
                AccountID      = 0
            };
            var createdTicket = await Client.CreateAsync(ticket).ConfigureAwait(false);

            // New ticket created

            List <Ticket> tickets;

            try
            {
                // Get the created ticket to confirm it exists
                tickets = await AutoTaskClient.GetAsync <Ticket>(
                    new Filter
                {
                    Items = new List <FilterItem>
                    {
                        new FilterItem {
                            Field    = "id",
                            Operator = Operator.Equals,
                            Value    = createdTicket.id.ToString()
                        }
                    }
                }
                    ).ConfigureAwait(false);

                tickets.Should().NotBeEmpty();
                var existingTicket = tickets[0];
                existingTicket.id.Should().Be(createdTicket.id);
                existingTicket.Title.Should().Be(ticketTitle);
                existingTicket.Description.Should().Be(ticketDescription);
                // Ticket was found and valid
            }
            finally
            {
                // Always try and delete
                await Client.DeleteAsync(createdTicket).ConfigureAwait(false);
            }

            // Get the created ticket to confirm it exists
            tickets = await AutoTaskClient.GetAsync <Ticket>(
                new Filter
            {
                Items = new List <FilterItem>
                {
                    new FilterItem {
                        Field    = "id",
                        Operator = Operator.Equals,
                        Value    = createdTicket.id.ToString()
                    }
                }
            }
                ).ConfigureAwait(false);

            tickets.Should().BeEmpty();
            // Ticket no longer exists and was deleted
        }