public async Task DeleteSmartContract_CallswithCorrectParams_Test()
        {
            var id = "banana";
            await _dragonchainClient.DeleteSmartContract(id);

            _httpService.Verify(service => service.DeleteAsync <SmartContractAtRest>($"/contract/{id}"), Times.Once);
        }
Пример #2
0
        public async Task CreateContract_Test()
        {
            // use task delay to ensure contract is ready to be retrieved and deleted
            if (AreLevel1TestsConfigured())
            {
                var createContractResponse = await _dragonchainLevel1Client.CreateSmartContract("Test", "ubuntu:latest", "python3.6", new string[] { "something" },
                                                                                                SmartContractExecutionOrder.Serial, new { Test = "env" });

                Assert.AreEqual(202, createContractResponse.Status);
                Assert.IsTrue(createContractResponse.Ok);
                Assert.IsInstanceOf <DragonchainContractResponse>(createContractResponse.Response);
                await Task.Delay(30000);

                try
                {
                    var getContractResponse = await _dragonchainLevel1Client.GetSmartContract(createContractResponse.Response.Success.Id, null);

                    Assert.AreEqual(200, getContractResponse.Status);
                    Assert.IsTrue(getContractResponse.Ok);
                    Assert.IsInstanceOf <SmartContractAtRest>(getContractResponse.Response);
                    Assert.AreEqual(createContractResponse.Response.Success.Id, getContractResponse.Response.Id);

                    var updateContractResponse = await _dragonchainLevel1Client.UpdateSmartContract(createContractResponse.Response.Success.Id, cmd : "python3.7");

                    Assert.AreEqual(202, updateContractResponse.Status);
                    Assert.IsTrue(updateContractResponse.Ok);
                    Assert.IsInstanceOf <DragonchainContractResponse>(updateContractResponse.Response);
                    Assert.AreEqual("updating", updateContractResponse.Response.Success.Status.State);
                    await Task.Delay(30000);
                }
                finally
                {
                    var deleteContractResponse = await _dragonchainLevel1Client.DeleteSmartContract(createContractResponse.Response.Success.Id);

                    Assert.AreEqual(202, deleteContractResponse.Status);
                    Assert.IsTrue(deleteContractResponse.Ok);
                    Assert.IsInstanceOf <SmartContractAtRest>(deleteContractResponse.Response);
                }
            }
            else
            {
                Assert.Warn("User secrets - dragonchain-sdk.tests-79a3edd0-2092-40a2-a04d-dcb46d5ca9ed not available");
            }
        }