private void TestPutNewComplete2MB() { var data = new byte[2097152]; RandomUtil.Rnd.NextBytes(data); var asset = new Asset( Guid.NewGuid().ToString("N"), 7, // Notecard false, false, (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds, "2MB Asset", "Test of a larger asset", data ); var request = new ClientRequestMsg(ClientRequestMsg.RequestType.PUT, asset.Uuid, asset.Serialize().data); request.Send(_socket); // Wait until response comes back. while (_socket.Available <= 0) { if (_cancelTest) { return; } } #pragma warning disable RECS0026 // Possible unassigned object created by 'new' new ServerResponseMsg(_socket); #pragma warning restore RECS0026 // Possible unassigned object created by 'new' }
public static void TestOperationPUTWithValidIdReturnsOk() { var asset = new Asset( Guid.NewGuid().ToString("N"), 7, // Notecard false, false, (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds, "Just junk", "Just junk.", new byte[] { 0x31, 0x33, 0x33, 0x37 } ); var data = asset.Serialize().data; var request = new ClientRequestMsg(ClientRequestMsg.RequestType.PUT, asset.Uuid, data); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.OK, response.Status, $"Wrong result returned for asset {asset.Uuid}."); }
public static void TestOperationGETWithValidIdReturnsCorrectAsset() { var asset = CreateAndPutAsset(_socket); Assert.NotNull(asset, "Failure storing asset for test."); var request = new ClientRequestMsg(ClientRequestMsg.RequestType.GET, asset.Uuid); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); var resultingAsset = new Asset(response.Data); Assert.AreEqual(asset.Uuid, resultingAsset.Uuid, "Asset ID fails to match."); Assert.AreEqual(asset.Type, resultingAsset.Type, "Asset Type fails to match."); Assert.AreEqual(asset.Local, resultingAsset.Local, "Asset Local flag fails to match."); Assert.AreEqual(asset.Temporary, resultingAsset.Temporary, "Asset Temporary flag fails to match."); Assert.AreEqual(asset.CreateTime, resultingAsset.CreateTime, "Asset CreateTime fails to match."); Assert.AreEqual(asset.Name, resultingAsset.Name, "Asset Name fails to match."); Assert.AreEqual(asset.Description, resultingAsset.Description, "Asset Description fails to match."); Assert.AreEqual(asset.Data, resultingAsset.Data, "Asset Data fails to match."); }
private void TestPutNewComplete() { var asset = new Asset( Guid.NewGuid().ToString("N"), 7, // Notecard false, false, (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds, "New Asset", "Test of a new asset", System.Text.Encoding.UTF8.GetBytes("Just some data.") ); var request = new ClientRequestMsg(ClientRequestMsg.RequestType.PUT, asset.Uuid, asset.Serialize().data); request.Send(_socket); // Wait until response comes back. while (_socket.Available <= 0) { if (_cancelTest) { return; } } #pragma warning disable RECS0026 // Possible unassigned object created by 'new' new ServerResponseMsg(_socket); #pragma warning restore RECS0026 // Possible unassigned object created by 'new' }
public static void TestOperationPURGEWithValidIdRemovedItem() { var asset = CreateAndPutAsset(_socket); Assert.NotNull(asset, "Failure putting asset while prepping for test."); var purgeRequest = new ClientRequestMsg(ClientRequestMsg.RequestType.PURGE, asset.Uuid); purgeRequest.Send(_socket); while (_socket.Available <= 0) { } var purgeResponse = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.OK, purgeResponse.Status, $"Wrong result returned for asset {asset.Uuid}."); var getRequest = new ClientRequestMsg(ClientRequestMsg.RequestType.GET, asset.Uuid); getRequest.Send(_socket); Thread.Sleep(10); Assert.NotZero(_socket.Available, "Got nothing from the server!"); var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.NOT_FOUND, response.Status, $"Wrong result returned for asset {asset.Uuid}."); }
public static Asset CreateAndPutAsset(Socket conn, byte[] assetData = null) { Contract.Requires(conn != null); var asset = new Asset( Guid.NewGuid().ToString("N"), 7, // Notecard false, false, (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds, "Just junk", "Just junk.", assetData ?? new byte[] { 0x31, 0x33, 0x33, 0x37 } ); var data = asset.Serialize().data; var request = new ClientRequestMsg(ClientRequestMsg.RequestType.PUT, asset.Uuid, data); request.Send(conn); while (conn.Available <= 0) { } var response = new ServerResponseMsg(conn); return(response.Status == ServerResponseMsg.Result.OK ? asset : null); }
public static void TestOperationMAINT_PURGELOCALSReturnsOk() { var request = new ClientRequestMsg(ClientRequestMsg.RequestType.MAINT_PURGELOCALS, Guid.Empty.ToString("N")); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.OK, response.Status, $"Wrong result returned for purge locals."); }
public static void TestOperationSTATUS_GETReturnsOk() { var request = new ClientRequestMsg(ClientRequestMsg.RequestType.STATUS_GET, Guid.Empty.ToString("N")); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.OK, response.Status, $"Wrong result returned."); }
public static void TestOperationGETWithInvalidIdReturnsError() { var assetId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; var request = new ClientRequestMsg(ClientRequestMsg.RequestType.GET, assetId); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.ERROR, response.Status, $"Wrong result returned for asset {assetId}."); }
public static void TestOperationGETWithRandomIdReturnsNotFound() { var assetId = Guid.NewGuid().ToString("N"); var request = new ClientRequestMsg(ClientRequestMsg.RequestType.GET, assetId); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.NOT_FOUND, response.Status, $"Wrong result returned for asset {assetId}."); }
public static void TestOperationSTATUS_GETHasExpectedValue() { var request = new ClientRequestMsg(ClientRequestMsg.RequestType.STATUS_GET, Guid.Empty.ToString("N")); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); var statusInfo = response.ErrorMessage; Assert.That(statusInfo.StartsWith("WHIP Server Status", StringComparison.InvariantCulture), $"Expected to find 'WHIP Server Status' in the following:\n{statusInfo}"); }
private void TestTestKnown() { var request = new ClientRequestMsg(ClientRequestMsg.RequestType.TEST, _knownAsset.Uuid); request.Send(_socket); // Wait until response comes back. while (_socket.Available <= 0) { if (_cancelTest) { return; } } #pragma warning disable RECS0026 // Possible unassigned object created by 'new' new ServerResponseMsg(_socket); #pragma warning restore RECS0026 // Possible unassigned object created by 'new' }
private void TestGetDontCacheUnknown() { var request = new ClientRequestMsg(ClientRequestMsg.RequestType.GET_DONTCACHE, Guid.NewGuid().ToString("N")); request.Send(_socket); // Wait until response comes back. while (_socket.Available <= 0) { if (_cancelTest) { return; } } #pragma warning disable RECS0026 // Possible unassigned object created by 'new' new ServerResponseMsg(_socket); #pragma warning restore RECS0026 // Possible unassigned object created by 'new' }
private void TestStoredAssetIdsGet000() { var request = new ClientRequestMsg(ClientRequestMsg.RequestType.STORED_ASSET_IDS_GET, Guid.Empty.ToString("N")); request.Send(_socket); // Wait until response comes back. while (_socket.Available <= 0) { if (_cancelTest) { return; } } #pragma warning disable RECS0026 // Possible unassigned object created by 'new' new ServerResponseMsg(_socket); #pragma warning restore RECS0026 // Possible unassigned object created by 'new' }
public static void TestOperationTESTWithValidIdReturnsFound() { var asset = CreateAndPutAsset(_socket); Assert.NotNull(asset, "Failure putting asset while prepping for test."); var request = new ClientRequestMsg(ClientRequestMsg.RequestType.TEST, asset.Uuid); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.FOUND, response.Status, $"Wrong result returned for asset {asset.Uuid}."); }
public static void TestServiceMultipleGoodRequests() { using (var socket = AuthTests.Connect()) { for (var index = 0; index < 10; ++index) { var request = new ClientRequestMsg(ClientRequestMsg.RequestType.STATUS_GET, Guid.Empty.ToString()); request.Send(socket); while (socket.Available <= 0) { } #pragma warning disable RECS0026 // Possible unassigned object created by 'new' new ServerResponseMsg(socket); #pragma warning restore RECS0026 // Possible unassigned object created by 'new' // Don't care what the reponse was. } } }
public static void TestOperationPUTWithDuplicateIdReturnsError() { var asset = CreateAndPutAsset(_socket); Assert.NotNull(asset, "Failure putting asset while prepping for test."); var data = asset.Serialize().data; var request = new ClientRequestMsg(ClientRequestMsg.RequestType.PUT, asset.Uuid, data); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.ERROR, response.Status, $"Wrong result returned for asset {asset.Uuid}."); }
public static void TestOperationSTORED_ASSET_IDS_GETReturnsOk() { var asset = CreateAndPutAsset(_socket); Assert.NotNull(asset, "Failure putting asset while prepping for test."); var assetRangeId = asset.Uuid.Substring(0, 3) + Guid.Empty.ToString("N").Substring(3); var request = new ClientRequestMsg(ClientRequestMsg.RequestType.STORED_ASSET_IDS_GET, assetRangeId); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.OK, response.Status, $"Wrong result returned for asset range matching {assetRangeId.Substring(0, 3)}*."); }
public static void TestOperationGETWithValidIdReturnsFound() { var asset = CreateAndPutAsset(_socket); Assert.NotNull(asset, "Failure storing asset for test."); var request = new ClientRequestMsg(ClientRequestMsg.RequestType.GET, asset.Uuid); request.Send(_socket); while (_socket.Available <= 0) { } Thread.Sleep(10); Assert.NotZero(_socket.Available, "Got nothing from the server!"); var response = new ServerResponseMsg(_socket); Assert.AreEqual(ServerResponseMsg.Result.FOUND, response.Status, $"Wrong result returned for asset {asset.Uuid}."); }
public static void TestOperationSTORED_ASSET_IDS_GETHasExpectedEntry() { var asset = CreateAndPutAsset(_socket); Assert.NotNull(asset, "Failure putting asset while prepping for test."); var assetRangeId = asset.Uuid.Substring(0, 3) + Guid.Empty.ToString("N").Substring(3); var request = new ClientRequestMsg(ClientRequestMsg.RequestType.STORED_ASSET_IDS_GET, assetRangeId); request.Send(_socket); while (_socket.Available <= 0) { } var response = new ServerResponseMsg(_socket); var assetIdCSV = response.ErrorMessage; Assert.That(assetIdCSV.Contains(asset.Uuid), $"Expected to find '{asset.Uuid}' in the following:\n{assetIdCSV}"); }