Skip to content
28 changes: 26 additions & 2 deletions tests/Neo.Plugins.RpcServer.Tests/UT_RpcServer.Blockchain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

using Akka.Actor;
using Akka.Util.Internal;
using FluentAssertions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Neo.IO;
using Neo.Json;
Expand Down Expand Up @@ -61,6 +62,12 @@ public void TestGetBlockByHash()
{
Assert.AreEqual(VerifyResult.Succeed, tx.VerifyStateIndependent(UnitTests.TestProtocolSettings.Default));
});

parameters = new JArray(block.Hash.ToString(), true);
result = _rpcServer.GetBlock(parameters);
var block3 = block.ToJson(UnitTests.TestProtocolSettings.Default);
block3["confirmations"] = NativeContract.Ledger.CurrentIndex(snapshot) - block.Index + 1;
result.ToString().Should().Be(block3.ToString());
}

[TestMethod]
Expand All @@ -79,6 +86,12 @@ public void TestGetBlockByIndex()
{
Assert.AreEqual(VerifyResult.Succeed, tx.VerifyStateIndependent(UnitTests.TestProtocolSettings.Default));
});

parameters = new JArray(block.Index, true);
result = _rpcServer.GetBlock(parameters);
var block3 = block.ToJson(UnitTests.TestProtocolSettings.Default);
block3["confirmations"] = NativeContract.Ledger.CurrentIndex(snapshot) - block.Index + 1;
result.ToString().Should().Be(block3.ToString());
}

[TestMethod]
Expand Down Expand Up @@ -122,6 +135,12 @@ public void TestGetBlockHeader()
var header = block.Header.ToJson(_neoSystem.Settings);
header["confirmations"] = NativeContract.Ledger.CurrentIndex(snapshot) - block.Index + 1;
Assert.AreEqual(header.ToString(), result.ToString());

parameters = new JArray(block.Index, false);
result = _rpcServer.GetBlockHeader(parameters);
var headerArr = Convert.FromBase64String(result.AsString());
var header2 = headerArr.AsSerializable<Header>();
header2.ToJson(_neoSystem.Settings).ToString().Should().Be(block.Header.ToJson(_neoSystem.Settings).ToString());
}

[TestMethod]
Expand All @@ -132,8 +151,11 @@ public void TestGetContractState()
snapshot.AddContract(contractState.Hash, contractState);
snapshot.Commit();
var result = _rpcServer.GetContractState(new JArray(contractState.Hash.ToString()));

Assert.AreEqual(contractState.ToJson().ToString(), result.ToString());

//Test Faild
//result = _rpcServer.GetContractState(new JArray(contractState.Id));
//Assert.AreEqual(contractState.ToJson().ToString(), result.ToString());
}

[TestMethod]
Expand All @@ -145,8 +167,10 @@ public void TestGetRawMemPool()
_neoSystem.MemPool.TryAdd(tx, snapshot);

var result = _rpcServer.GetRawMemPool(new JArray());

Assert.IsTrue(((JArray)result).Any(p => p.AsString() == tx.Hash.ToString()));

result = _rpcServer.GetRawMemPool(new JArray("true"));
Assert.IsTrue(((JArray)result["verified"]).Any(p => p.AsString() == tx.Hash.ToString()));
}

[TestMethod]
Expand Down