public async Task CreateContract_CallswithCorrectParams_Test() { var body = new SmartContractSchema { TransactionType = "name", Image = "ubuntu:latest", ExecutionOrder = SmartContractExecutionOrder.Serial, EnvironmentVariables = new { Banana = "banana", Apple = "banana" }, Cmd = "banana", Arguments = new string[] { "-m cool" } }; await _dragonchainClient.CreateSmartContract(body.TransactionType, body.Image, body.Cmd, body.Arguments, (SmartContractExecutionOrder)body.ExecutionOrder, body.EnvironmentVariables); _httpService.Verify(service => service.PostAsync <DragonchainContractResponse>("/contract", It.IsAny <SmartContractSchema>(), ""), Times.Once); }
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"); } }