public static void addSingleMetadata(MetaDataResponseDTO metaData) { lock (PreStoredMetadata) { PreStoredMetadata.Add(metaData); } }
public async Task UploadString() { string url = ApiPaths.ALGO_STORE_METADATA; MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(13), Description = Helpers.RandomString(13) }; var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); url = ApiPaths.ALGO_STORE_UPLOAD_STRING; UploadStringDTO stringDTO = new UploadStringDTO() { AlgoId = responceMetaData.Id, Data = "TEST FOR NOW NOT WORKING ALGO" }; var responsetemp = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(stringDTO), Method.POST); Assert.True(response.Status == System.Net.HttpStatusCode.OK); bool blobExists = await this.BlobRepository.CheckIfBlobExists(stringDTO.AlgoId, BinaryAlgoFileType.STRING); Assert.That(blobExists, Is.EqualTo(true)); }
private async Task <UploadStringDTO> UploadStringAlgo() { string url = ApiPaths.ALGO_STORE_METADATA; MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(13), Description = Helpers.RandomString(13) }; var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); url = ApiPaths.ALGO_STORE_UPLOAD_STRING; UploadStringDTO stringDTO = new UploadStringDTO() { AlgoId = responceMetaData.Id, Data = this.CSharpAlgoString }; var responsetemp = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(stringDTO), Method.POST); Assert.True(response.Status == System.Net.HttpStatusCode.OK); return(stringDTO); }
public async Task UploadMetadataWithEmptyDescription() { string url = ApiPaths.ALGO_STORE_METADATA; MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(8), Description = "" }; var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); Assert.That(response.Status, Is.EqualTo(HttpStatusCode.OK)); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); DataManager.addSingleMetadata(responceMetaData); Assert.AreEqual(metadata.Name, responceMetaData.Name); Assert.AreEqual(metadata.Description, responceMetaData.Description); Assert.NotNull(responceMetaData.Date); Assert.NotNull(responceMetaData.Id); Assert.Null(responceMetaData.Status); MetaDataEntity metaDataEntity = await MetaDataRepository.TryGetAsync(t => t.Id == responceMetaData.Id) as MetaDataEntity; Assert.NotNull(metaDataEntity); Assert.AreEqual(metaDataEntity.Id, responceMetaData.Id); Assert.AreEqual(metaDataEntity.Name, responceMetaData.Name); Assert.AreEqual(metaDataEntity.Description, responceMetaData.Description); }
public async Task GetUploadedString() { MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(13), Description = Helpers.RandomString(13) }; var response = await this.Consumer.ExecuteRequest(metaDataPath, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); UploadStringDTO stringDTO = new UploadStringDTO() { AlgoId = responceMetaData.Id, Data = this.CSharpAlgoString }; var responsetemp = await this.Consumer.ExecuteRequest(uploadStringPath, Helpers.EmptyDictionary, JsonUtils.SerializeObject(stringDTO), Method.POST); Assert.True(response.Status == System.Net.HttpStatusCode.OK); Dictionary <string, string> quaryParamGetString = new Dictionary <string, string>() { { "AlgoId", responceMetaData.Id } }; var responceGetUploadString = await this.Consumer.ExecuteRequest(uploadStringPath, quaryParamGetString, null, Method.GET); Assert.That(responceGetUploadString.Status, Is.EqualTo(HttpStatusCode.OK)); UploadStringDTO uploadedStringContent = JsonUtils.DeserializeJson <UploadStringDTO>(responceGetUploadString.ResponseJson); Assert.That(stringDTO.Data, Is.EqualTo(uploadedStringContent.Data)); }
public async Task GetTailLogOnDeployedOnlyAlgo() { MetaDataResponseDTO metadataForUploadedBinary = await UploadBinaryAlgoAndGetResponceDTO(); string AlgoID = metadataForUploadedBinary.Id; DeployBinaryDTO algo = new DeployBinaryDTO() { AlgoId = AlgoID }; string url = ApiPaths.ALGO_STORE_DEPLOY_BINARY; var uploadBinaryresponce = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(algo), Method.POST); Assert.That(uploadBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); url = ApiPaths.ALGO_STORE_ALGO_TAIL_LOG; Dictionary <string, string> algoIDTailLog = new Dictionary <string, string>() { { "AlgoId", AlgoID }, { "Tail", "60" } }; var algoIDTailLogResponse = await this.Consumer.ExecuteRequest(url, algoIDTailLog, null, Method.GET); Assert.That(algoIDTailLogResponse.Status, Is.EqualTo(HttpStatusCode.OK)); LogResponseDTO LogObject = JsonUtils.DeserializeJson <LogResponseDTO>(algoIDTailLogResponse.ResponseJson); Assert.NotNull(LogObject); }
public async Task EditMetadata() { string url = ApiPaths.ALGO_STORE_METADATA; MetaDataResponseDTO temporaryResponseDTO = DataManager.getMetadataForEdit(); MetaDataEditDTO editMetaData = new MetaDataEditDTO() { Id = temporaryResponseDTO.Id, Name = Helpers.RandomString(9), Description = Helpers.RandomString(9) }; temporaryResponseDTO.Name = editMetaData.Name; temporaryResponseDTO.Description = editMetaData.Description; var responseMetaDataAfterEdit = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST); Assert.That(responseMetaDataAfterEdit.Status, Is.EqualTo(HttpStatusCode.OK)); MetaDataResponseDTO responceMetaDataAfterEdit = JsonUtils.DeserializeJson <MetaDataResponseDTO>(responseMetaDataAfterEdit.ResponseJson); Assert.AreEqual(responceMetaDataAfterEdit.Name, editMetaData.Name); Assert.AreEqual(responceMetaDataAfterEdit.Description, editMetaData.Description); Assert.NotNull(responceMetaDataAfterEdit.Date); Assert.NotNull(responceMetaDataAfterEdit.Id); Assert.Null(responceMetaDataAfterEdit.Status); MetaDataEntity metaDataEntity = await MetaDataRepository.TryGetAsync(t => t.Id == responceMetaDataAfterEdit.Id) as MetaDataEntity; Assert.NotNull(metaDataEntity); Assert.AreEqual(metaDataEntity.Id, responceMetaDataAfterEdit.Id); Assert.AreEqual(metaDataEntity.Name, responceMetaDataAfterEdit.Name); Assert.AreEqual(metaDataEntity.Description, responceMetaDataAfterEdit.Description); }
public async Task GetAllClientInstanceData() { MetaDataResponseDTO metadataForUploadedBinary = await UploadBinaryAlgoAndGetResponceDTO(); string algoID = metadataForUploadedBinary.Id; InstanceDataDTO instanceForAlgo = new InstanceDataDTO() { AlgoId = algoID, HftApiKey = "key", AssetPair = "BTCUSD", TradedAsset = "USD", Margin = "1", Volume = "1" }; string url = ApiPaths.ALGO_STORE_ALGO_INSTANCE_DATA; var postInstanceDataResponse = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(instanceForAlgo), Method.POST); Assert.That(postInstanceDataResponse.Status == HttpStatusCode.OK); InstanceDataDTO postInstanceData = JsonUtils.DeserializeJson <InstanceDataDTO>(postInstanceDataResponse.ResponseJson); Assert.That(postInstanceData.AlgoId, Is.EqualTo(instanceForAlgo.AlgoId)); Assert.That(postInstanceData.AssetPair, Is.EqualTo(instanceForAlgo.AssetPair)); Assert.That(postInstanceData.HftApiKey, Is.EqualTo(instanceForAlgo.HftApiKey)); Assert.That(postInstanceData.TradedAsset, Is.EqualTo(instanceForAlgo.TradedAsset)); Assert.AreEqual((int)Convert.ToDouble(postInstanceData.Volume), (int)Convert.ToDouble(instanceForAlgo.Volume)); Assert.AreEqual((int)Convert.ToDouble(postInstanceData.Margin), (int)Convert.ToDouble(instanceForAlgo.Margin)); Assert.NotNull(postInstanceData.InstanceId); ClientInstanceEntity instanceDataEntityExists = await ClientInstanceRepository.TryGetAsync(t => t.Id == postInstanceData.InstanceId) as ClientInstanceEntity; Assert.NotNull(instanceDataEntityExists); url = ApiPaths.ALGO_STORE_ALGO_GET_ALL_INSTANCE_DATA; Dictionary <string, string> queryParmas = new Dictionary <string, string>() { { "algoId", algoID } }; var responceAllClientInstance = await this.Consumer.ExecuteRequest(url, queryParmas, null, Method.GET); Assert.That(responceAllClientInstance.Status, Is.EqualTo(HttpStatusCode.OK)); Object responceClientGetAll = JsonUtils.DeserializeJson(responceAllClientInstance.ResponseJson); List <InstanceDataDTO> listAllClinetObjects = Newtonsoft.Json.JsonConvert.DeserializeObject <List <InstanceDataDTO> >(responceClientGetAll.ToString()); int mathcedKeysCounter = 0; foreach (InstanceDataDTO currentData in listAllClinetObjects) { bool Exists = currentData.InstanceId.Equals(postInstanceData.InstanceId); if (Exists) { mathcedKeysCounter++; } } Assert.That(mathcedKeysCounter, Is.EqualTo(1)); }
public async Task EditMetadataBadRequest(string badName) { string url = ApiPaths.ALGO_STORE_METADATA; MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(8), Description = Helpers.RandomString(8) }; var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); Assert.That(response.Status, Is.EqualTo(HttpStatusCode.OK)); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); url = ApiPaths.ALGO_STORE_METADATA; MetaDataEditDTO editMetaData = new MetaDataEditDTO() { Id = responceMetaData.Id, Name = badName, Description = badName }; var responseMetaDataAfterEdit = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST); Assert.That(responseMetaDataAfterEdit.Status, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task GetUploadedString() { string url = ApiPaths.ALGO_STORE_UPLOAD_STRING; MetaDataResponseDTO metadataWithUploadedString = DataManager.getMetaDataForBinaryUpload(); string Algoid = metadataWithUploadedString.Id; PostUploadStringAlgoDTO uploadedStringDTO = new PostUploadStringAlgoDTO() { AlgoId = Algoid, Data = Helpers.RandomString(300) }; var responceUploadString = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(uploadedStringDTO), Method.POST); Assert.That(responceUploadString.Status, Is.EqualTo(HttpStatusCode.NoContent)); Dictionary <string, string> quaryParamGetString = new Dictionary <string, string>() { { "AlgoId", Algoid } }; var responceGetUploadString = await this.Consumer.ExecuteRequest(url, quaryParamGetString, null, Method.GET); Assert.That(responceGetUploadString.Status, Is.EqualTo(HttpStatusCode.OK)); UploadStringDTO uploadedStringContent = JsonUtils.DeserializeJson <UploadStringDTO>(responceGetUploadString.ResponseJson); Assert.That(uploadedStringDTO.Data, Is.EqualTo(uploadedStringContent.Data)); }
public async Task DeleteMetadataBadRequest(string badID) { string url = ApiPaths.ALGO_STORE_METADATA; MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(8), Description = Helpers.RandomString(8) }; var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); Assert.That(response.Status, Is.EqualTo(HttpStatusCode.OK)); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); CascadeDeleteDTO editMetaData = new CascadeDeleteDTO() { AlgoId = badID, InstanceId = responceMetaData.Name }; url = ApiPaths.ALGO_STORE_CASCADE_DELETE; var responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST); Assert.That(responceCascadeDelete.Status, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task StartBinary() { MetaDataResponseDTO metadataForUploadedBinary = await UploadBinaryAlgoAndGetResponceDTO(); string AlgoID = metadataForUploadedBinary.Id; DeployBinaryDTO algo = new DeployBinaryDTO() { AlgoId = AlgoID }; string url = ApiPaths.ALGO_STORE_DEPLOY_BINARY; var uploadBinaryresponce = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(algo), Method.POST); Assert.That(uploadBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); StartBinaryDTO startAlgo = new StartBinaryDTO { AlgoId = algo.AlgoId }; url = ApiPaths.ALGO_STORE_ALGO_START; var startBinaryresponce = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(startAlgo), Method.POST); Assert.That(startBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); StartBinaryResponseDTO startResponse = JsonUtils.DeserializeJson <StartBinaryResponseDTO>(startBinaryresponce.ResponseJson); Assert.That(startResponse.Status, Is.EqualTo("STARTED")); }
public async Task DeleteMetadataWithUpoadAlgoBinary() { MetaDataResponseDTO temporaryResponseDTO = DataManager.getMetadataForDelete(); CascadeDeleteDTO editMetaData = new CascadeDeleteDTO() { Id = temporaryResponseDTO.Id, Name = temporaryResponseDTO.Name }; string url = ApiPaths.ALGO_STORE_UPLOAD_BINARY; string AlgoId = editMetaData.Id; Dictionary <string, string> quaryParam = new Dictionary <string, string>() { { "AlgoId", AlgoId } }; var responceAllClientMetadata = await this.Consumer.ExecuteRequestFileUpload(url, quaryParam, null, Method.POST, pathFile); Assert.That(responceAllClientMetadata.Status, Is.EqualTo(HttpStatusCode.NoContent)); bool blobExists = await this.BlobRepository.CheckIfBlobExists(AlgoId, BinaryAlgoFileType.JAR); Assert.That(blobExists, Is.EqualTo(true)); url = ApiPaths.ALGO_STORE_CASCADE_DELETE; var responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST); Assert.That(responceCascadeDelete.Status, Is.EqualTo(HttpStatusCode.NoContent)); MetaDataEntity metaDataEntityDeleted = await MetaDataRepository.TryGetAsync(t => t.Id == editMetaData.Id) as MetaDataEntity; Assert.Null(metaDataEntityDeleted); }
public async Task <List <MetaDataResponseDTO> > UploadSomeBaseMetaData(int nuberDto) { string url = ApiPaths.ALGO_STORE_METADATA; List <MetaDataDTO> metadataList = new List <MetaDataDTO>(); List <MetaDataResponseDTO> responceMetadataList = new List <MetaDataResponseDTO>(); for (int i = 0; i < nuberDto; i++) { MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(13), Description = Helpers.RandomString(13) }; metadataList.Add(metadata); } foreach (var metadata in metadataList) { var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); responceMetadataList.Add(responceMetaData); } return(responceMetadataList); }
public async Task UpdateUploadedStringAlgo() { string url = ApiPaths.ALGO_STORE_METADATA; MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(13), Description = Helpers.RandomString(13) }; var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); url = ApiPaths.ALGO_STORE_UPLOAD_STRING; UploadStringDTO stringDTO = new UploadStringDTO() { AlgoId = responceMetaData.Id, Data = this.CSharpAlgoString }; var responsetemp = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(stringDTO), Method.POST); Assert.True(responsetemp.Status == System.Net.HttpStatusCode.NoContent); Dictionary <string, string> quaryParamGetString = new Dictionary <string, string>() { { "AlgoId", responceMetaData.Id } }; var responceGetUploadString = await this.Consumer.ExecuteRequest(url, quaryParamGetString, null, Method.GET); Assert.That(responceGetUploadString.Status, Is.EqualTo(HttpStatusCode.OK)); UploadStringDTO uploadedStringContent = JsonUtils.DeserializeJson <UploadStringDTO>(responceGetUploadString.ResponseJson); Assert.That(stringDTO.Data, Is.EqualTo(uploadedStringContent.Data)); UploadStringDTO UpdatedstringDTO = new UploadStringDTO() { AlgoId = responceMetaData.Id, Data = "Updated Text" }; var responsetempUpdated = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(UpdatedstringDTO), Method.POST); Assert.True(responsetempUpdated.Status == System.Net.HttpStatusCode.NoContent); var responceGetUploadStringUpdated = await this.Consumer.ExecuteRequest(url, quaryParamGetString, null, Method.GET); Assert.That(responceGetUploadStringUpdated.Status, Is.EqualTo(HttpStatusCode.OK)); UploadStringDTO uploadedStringContentUpdated = JsonUtils.DeserializeJson <UploadStringDTO>(responceGetUploadStringUpdated.ResponseJson); Assert.That(UpdatedstringDTO.Data, Is.EqualTo(uploadedStringContentUpdated.Data)); }
public async Task DoubleStartBinary() { MetaDataResponseDTO temporaryResponseDTO = DataManager.getMetaDataForBinaryUpload(); string url = ApiPaths.ALGO_STORE_UPLOAD_BINARY; string AlgoId = temporaryResponseDTO.Id; Dictionary <string, string> quaryParam = new Dictionary <string, string>() { { "AlgoId", AlgoId } }; var responceAllClientMetadata = await this.Consumer.ExecuteRequestFileUpload(url, quaryParam, null, Method.POST, pathFile); Assert.That(responceAllClientMetadata.Status, Is.EqualTo(HttpStatusCode.NoContent)); bool blobExists = await this.BlobRepository.CheckIfBlobExists(AlgoId, BinaryAlgoFileType.JAR); Assert.That(blobExists, Is.EqualTo(true)); DeployBinaryDTO algo = new DeployBinaryDTO() { AlgoId = AlgoId }; url = ApiPaths.ALGO_STORE_DEPLOY_BINARY; var uploadBinaryresponce = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(algo), Method.POST); Assert.That(uploadBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); RuntimeDataEntity runtimeDataEntity = await RuntimeDataRepository.TryGetAsync(t => t.Id == AlgoId) as RuntimeDataEntity; Assert.NotNull(runtimeDataEntity); StartBinaryDTO startAlgo = new StartBinaryDTO { AlgoId = algo.AlgoId }; url = ApiPaths.ALGO_STORE_ALGO_START; var startBinaryresponce = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(startAlgo), Method.POST); Assert.That(startBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); StartBinaryResponseDTO startResponse = JsonUtils.DeserializeJson <StartBinaryResponseDTO>(startBinaryresponce.ResponseJson); Assert.That(startResponse.Status, Is.EqualTo("STARTED")); var startBinaryresponceSecondTime = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(startAlgo), Method.POST); Assert.That(startBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); StartBinaryResponseDTO startResponseSecondTime = JsonUtils.DeserializeJson <StartBinaryResponseDTO>(startBinaryresponce.ResponseJson); Assert.That(startResponse.Status, Is.EqualTo("STARTED")); }
public static MetaDataResponseDTO getMetadataForEdit() { lock (PreStoredMetadata) { int r = rnd.Next(PreStoredMetadata.Count); MetaDataResponseDTO editMetadataResponceDTO = PreStoredMetadata[r]; return(editMetadataResponceDTO); } }
public async Task GetInstanceData() { MetaDataResponseDTO metadataForUploadedBinary = await UploadBinaryAlgoAndGetResponceDTO(); string algoID = metadataForUploadedBinary.Id; InstanceDataDTO instanceForAlgo = new InstanceDataDTO() { AlgoId = algoID, HftApiKey = "key", AssetPair = "BTCUSD", TradedAsset = "USD", Margin = "1", Volume = "1" }; string url = ApiPaths.ALGO_STORE_ALGO_INSTANCE_DATA; var postInstanceDataResponse = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(instanceForAlgo), Method.POST); Assert.That(postInstanceDataResponse.Status, Is.EqualTo(HttpStatusCode.OK)); InstanceDataDTO postInstanceData = JsonUtils.DeserializeJson <InstanceDataDTO>(postInstanceDataResponse.ResponseJson); Assert.That(postInstanceData.AlgoId, Is.EqualTo((instanceForAlgo.AlgoId))); Assert.That(postInstanceData.AssetPair, Is.EqualTo((instanceForAlgo.AssetPair))); Assert.That(postInstanceData.HftApiKey, Is.EqualTo((instanceForAlgo.HftApiKey))); Assert.That(postInstanceData.TradedAsset, Is.EqualTo((instanceForAlgo.TradedAsset))); Assert.AreEqual((int)Convert.ToDouble(postInstanceData.Volume), (int)Convert.ToDouble(instanceForAlgo.Volume)); Assert.AreEqual((int)Convert.ToDouble(postInstanceData.Margin), (int)Convert.ToDouble(instanceForAlgo.Margin)); Assert.NotNull(postInstanceData.InstanceId); ClientInstanceEntity instanceDataEntityExists = await ClientInstanceRepository.TryGetAsync(t => t.Id == postInstanceData.InstanceId) as ClientInstanceEntity; Assert.NotNull(instanceDataEntityExists); Dictionary <string, string> queryParmas = new Dictionary <string, string>() { { "algoId", algoID }, { "instanceId", postInstanceData.InstanceId } }; var instanceDataResponse = await this.Consumer.ExecuteRequest(url, queryParmas, null, Method.GET); Assert.That(instanceDataResponse.Status, Is.EqualTo(HttpStatusCode.OK)); InstanceDataDTO returnedClinetInstanceData = JsonUtils.DeserializeJson <InstanceDataDTO>(instanceDataResponse.ResponseJson); Assert.That(returnedClinetInstanceData.AlgoId, Is.EqualTo((postInstanceData.AlgoId))); Assert.That(returnedClinetInstanceData.AssetPair, Is.EqualTo((postInstanceData.AssetPair))); Assert.That(returnedClinetInstanceData.HftApiKey, Is.EqualTo((postInstanceData.HftApiKey))); Assert.That(returnedClinetInstanceData.TradedAsset, Is.EqualTo((postInstanceData.TradedAsset))); Assert.AreEqual((int)Convert.ToDouble(postInstanceData.Volume), (int)Convert.ToDouble(postInstanceData.Volume)); Assert.AreEqual((int)Convert.ToDouble(postInstanceData.Margin), (int)Convert.ToDouble(postInstanceData.Margin)); Assert.That(returnedClinetInstanceData.InstanceId, Is.EqualTo((postInstanceData.InstanceId))); }
public static MetaDataResponseDTO getMetadataForDelete() { lock (PreStoredMetadata) { int r = rnd.Next(PreStoredMetadata.Count); MetaDataResponseDTO editMetadataResponceDTO = PreStoredMetadata[r]; PreStoredMetadata.RemoveAt(r); return(editMetadataResponceDTO); } }
public static MetaDataResponseDTO getMetaDataForBinaryUpload() { lock (PreStoredMetadata) { int r; do { r = rnd.Next(PreStoredMetadata.Count); }while (metaDataIndexIDWithFile.Contains(r)); MetaDataResponseDTO editMetadataResponceDTO = PreStoredMetadata[r]; metaDataIndexIDWithFile.Add(r); return(editMetadataResponceDTO); } }
public async Task DeleteMetadataBadRequest(string badID) { MetaDataResponseDTO temporaryResponseDTO = DataManager.getMetadataForEdit(); CascadeDeleteDTO editMetaData = new CascadeDeleteDTO() { Id = badID, Name = temporaryResponseDTO.Name }; string url = ApiPaths.ALGO_STORE_CASCADE_DELETE; var responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST); Assert.That(responceCascadeDelete.Status, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task EditMetadataBadRequest(string badName) { string url = ApiPaths.ALGO_STORE_METADATA; MetaDataResponseDTO temporaryResponseDTO = DataManager.getMetadataForEdit(); MetaDataEditDTO editMetaData = new MetaDataEditDTO() { Id = temporaryResponseDTO.Id, Name = badName, Description = badName }; var responseMetaDataAfterEdit = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST); Assert.That(responseMetaDataAfterEdit.Status, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task DeleteMetadataOnlyWithIdParam() { MetaDataResponseDTO temporaryResponseDTO = DataManager.getMetadataForDelete(); CascadeDeleteDTO editMetaData = new CascadeDeleteDTO() { Id = temporaryResponseDTO.Id, Name = "This Name Is Invalid" }; string url = ApiPaths.ALGO_STORE_CASCADE_DELETE; var responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST); Assert.That(responceCascadeDelete.Status, Is.EqualTo(HttpStatusCode.NoContent)); MetaDataEntity metaDataEntityDeleted = await MetaDataRepository.TryGetAsync(t => t.Id == editMetaData.Id) as MetaDataEntity; Assert.Null(metaDataEntityDeleted); }
public async Task ClientDataGetAllAlgos() { MetaDataResponseDTO metadataForUploadedBinary = await UploadBinaryAlgoAndGetResponceDTO(); string algoID = metadataForUploadedBinary.Id; string url = ApiPaths.ALGO_STORE_ADD_TO_PUBLIC; MetaDataEntity metaDataEntity = await MetaDataRepository.TryGetAsync(t => t.Id == metadataForUploadedBinary.Id) as MetaDataEntity; Assert.NotNull(metaDataEntity); AddToPublicDTO addAlgo = new AddToPublicDTO() { AlgoId = algoID, ClientId = metaDataEntity.PartitionKey }; var addAlgoToPublicEndpoint = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(addAlgo), Method.POST); Assert.That(addAlgoToPublicEndpoint.Status, Is.EqualTo(HttpStatusCode.OK)); url = ApiPaths.ALGO_STORE_CLIENT_DATA_GET_ALL_ALGOS; var clientDataAllAlgos = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, null, Method.GET); Assert.That(clientDataAllAlgos.Status, Is.EqualTo(HttpStatusCode.OK)); Object responceclientDataAllAlgos = JsonUtils.DeserializeJson(clientDataAllAlgos.ResponseJson); List <AlgoDTO> listAllAlgos = Newtonsoft.Json.JsonConvert.DeserializeObject <List <AlgoDTO> >(responceclientDataAllAlgos.ToString()); AlgoDTO expectedAlgoDTO = listAllAlgos.FindLast(t => t.Id.Equals(algoID)); string AlgoIdFromGettAllAlgos = expectedAlgoDTO.Id; Assert.That(algoID, Is.EqualTo(AlgoIdFromGettAllAlgos)); foreach (AlgoDTO algo in listAllAlgos) { Assert.NotZero(expectedAlgoDTO.Rating); Assert.NotZero(expectedAlgoDTO.UsersCount); Assert.NotNull(expectedAlgoDTO.Id); Assert.NotNull(expectedAlgoDTO.Name); Assert.NotNull(expectedAlgoDTO.Description); Assert.NotNull(expectedAlgoDTO.Date); Assert.NotNull(expectedAlgoDTO.Author); } }
public async Task DeleteMetadataWithUpoadAlgoString() { MetaDataResponseDTO temporaryResponseDTO = DataManager.getMetadataForDelete(); CascadeDeleteDTO editMetaData = new CascadeDeleteDTO() { Id = temporaryResponseDTO.Id, Name = temporaryResponseDTO.Name }; string url = ApiPaths.ALGO_STORE_UPLOAD_STRING; string Algoid = editMetaData.Id; PostUploadStringAlgoDTO uploadedStringDTO = new PostUploadStringAlgoDTO() { AlgoId = Algoid, Data = Helpers.RandomString(300) }; var responceUploadString = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(uploadedStringDTO), Method.POST); Assert.That(responceUploadString.Status, Is.EqualTo(HttpStatusCode.NoContent)); Dictionary <string, string> quaryParamGetString = new Dictionary <string, string>() { { "AlgoId", Algoid } }; var responceGetUploadString = await this.Consumer.ExecuteRequest(url, quaryParamGetString, null, Method.GET); Assert.That(responceGetUploadString.Status, Is.EqualTo(HttpStatusCode.OK)); UploadStringDTO uploadedStringContent = JsonUtils.DeserializeJson <UploadStringDTO>(responceGetUploadString.ResponseJson); Assert.That(uploadedStringDTO.Data, Is.EqualTo(uploadedStringContent.Data)); url = ApiPaths.ALGO_STORE_CASCADE_DELETE; var responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST); Assert.That(responceCascadeDelete.Status, Is.EqualTo(HttpStatusCode.NoContent)); MetaDataEntity metaDataEntityDeleted = await MetaDataRepository.TryGetAsync(t => t.Id == editMetaData.Id) as MetaDataEntity; Assert.Null(metaDataEntityDeleted); }
private async Task <MetaDataResponseDTO> UploadBinaryAlgoAndGetResponceDTO() { string url = ApiPaths.ALGO_STORE_UPLOAD_BINARY; MetaDataResponseDTO metadataWithUploadedBinary = DataManager.getMetaDataForBinaryUpload(); string AlgoId = metadataWithUploadedBinary.Id; Dictionary <string, string> quaryParam = new Dictionary <string, string>() { { "AlgoId", AlgoId } }; var responceUploadBinary = await this.Consumer.ExecuteRequestFileUpload(url, quaryParam, null, Method.POST, pathFile); Assert.That(responceUploadBinary.Status, Is.EqualTo(HttpStatusCode.NoContent)); return(metadataWithUploadedBinary); }
public async Task DeployBinaryAlgo() { MetaDataResponseDTO metadataForUploadedBinary = await UploadBinaryAlgoAndGetResponceDTO(); string AlgoID = metadataForUploadedBinary.Id; DeployBinaryDTO algo = new DeployBinaryDTO() { AlgoId = AlgoID }; string url = ApiPaths.ALGO_STORE_DEPLOY_BINARY; var uploadBinaryresponce = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(algo), Method.POST); Assert.That(uploadBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); RuntimeDataEntity runtimeDataEntity = await RuntimeDataRepository.TryGetAsync(t => t.Id == metadataForUploadedBinary.Id) as RuntimeDataEntity; Assert.NotNull(runtimeDataEntity); }
public async Task UploadString() { string url = ApiPaths.ALGO_STORE_UPLOAD_STRING; MetaDataResponseDTO metadataWithUploadedString = DataManager.getMetaDataForBinaryUpload(); string Algoid = metadataWithUploadedString.Id; PostUploadStringAlgoDTO uploadedStringDTO = new PostUploadStringAlgoDTO() { AlgoId = Algoid, Data = Helpers.RandomString(300) }; var responceUploadString = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(uploadedStringDTO), Method.POST); Assert.That(responceUploadString.Status, Is.EqualTo(HttpStatusCode.NoContent)); bool blobExists = await this.BlobRepository.CheckIfBlobExists(Algoid, BinaryAlgoFileType.STRING); Assert.That(blobExists, Is.EqualTo(true)); }
public async Task <List <BuilInitialDataObjectDTO> > UploadSomeBaseMetaData(int nuberDto) { string url = ApiPaths.ALGO_STORE_METADATA; string message; List <MetaDataDTO> metadataList = new List <MetaDataDTO>(); List <MetaDataResponseDTO> responceMetadataList = new List <MetaDataResponseDTO>(); for (int i = 0; i < nuberDto; i++) { MetaDataDTO metadata = new MetaDataDTO() { Name = Helpers.RandomString(13), Description = Helpers.RandomString(13) }; metadataList.Add(metadata); } foreach (var metadata in metadataList) { var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST); message = $"{url} returned status: {response.Status} and response: {response.ResponseJson}. Expected: {HttpStatusCode.OK}"; Assert.That(response.Status, Is.EqualTo(HttpStatusCode.OK), message); MetaDataResponseDTO responceMetaData = JsonUtils.DeserializeJson <MetaDataResponseDTO>(response.ResponseJson); responceMetadataList.Add(responceMetaData); } for (int i = 0; i < nuberDto; i++) { url = ApiPaths.ALGO_STORE_UPLOAD_STRING; UploadStringDTO stringDTO = new UploadStringDTO() { AlgoId = responceMetadataList[i].Id, Data = this.CSharpAlgoString }; var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(stringDTO), Method.POST); Assert.That(response.Status, Is.EqualTo(HttpStatusCode.NoContent)); instanceForAlgo = GetPopulatedInstanceDataDTO.returnInstanceDataDTO(stringDTO.AlgoId); url = ApiPaths.ALGO_STORE_ALGO_INSTANCE_DATA; var postInstanceDataResponse = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(instanceForAlgo), Method.POST); message = $"{url} returned status: {postInstanceDataResponse.Status} and response: {postInstanceDataResponse.ResponseJson}. Expected: {HttpStatusCode.OK}"; Assert.That(postInstanceDataResponse.Status, Is.EqualTo(HttpStatusCode.OK), message); postInstanceData = JsonUtils.DeserializeJson <InstanceDataDTO>(postInstanceDataResponse.ResponseJson); url = ApiPaths.ALGO_STORE_DEPLOY_BINARY; DeployBinaryDTO deploy = new DeployBinaryDTO() { AlgoId = stringDTO.AlgoId, InstanceId = postInstanceData.InstanceId, }; var deployBynaryResponse = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(deploy), Method.POST); message = $"{url} returned status: {deployBynaryResponse.Status} and response: {deployBynaryResponse.ResponseJson}. Expected: {HttpStatusCode.OK}"; Assert.That(postInstanceDataResponse.Status, Is.EqualTo(HttpStatusCode.OK)); BuilInitialDataObjectDTO tempDataDTO = new BuilInitialDataObjectDTO() { AlgoId = stringDTO.AlgoId, InstanceId = postInstanceData.InstanceId, Name = responceMetadataList[i].Name, Description = responceMetadataList[i].Description }; initialDTOObjectsList.Add(tempDataDTO); } return(initialDTOObjectsList); }
public async Task GetLogOnStoppedAlgo() { MetaDataResponseDTO metadataForUploadedBinary = await UploadBinaryAlgoAndGetResponceDTO(); string AlgoID = metadataForUploadedBinary.Id; DeployBinaryDTO algo = new DeployBinaryDTO() { AlgoId = AlgoID }; string url = ApiPaths.ALGO_STORE_DEPLOY_BINARY; var uploadBinaryresponce = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(algo), Method.POST); Assert.That(uploadBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); StartBinaryDTO startAlgo = new StartBinaryDTO { AlgoId = algo.AlgoId }; url = ApiPaths.ALGO_STORE_ALGO_START; var startBinaryresponce = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(startAlgo), Method.POST); Assert.That(startBinaryresponce.Status, Is.EqualTo(HttpStatusCode.OK)); StartBinaryResponseDTO startResponse = JsonUtils.DeserializeJson <StartBinaryResponseDTO>(startBinaryresponce.ResponseJson); Assert.That(startResponse.Status, Is.EqualTo("STARTED")); url = ApiPaths.ALGO_STORE_ALGO_STOP; StopBinaryDTO stopAlgo = new StopBinaryDTO { AlgoId = algo.AlgoId }; var stopBinaryResponse = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(stopAlgo), Method.POST); Assert.That(stopBinaryResponse.Status, Is.EqualTo(HttpStatusCode.OK)); StartBinaryResponseDTO stopResponse = JsonUtils.DeserializeJson <StartBinaryResponseDTO>(stopBinaryResponse.ResponseJson); Assert.That(stopResponse.Status, Is.EqualTo("STOPPED")); url = ApiPaths.ALGO_STORE_ALGO_LOG; Dictionary <string, string> algoIDLog = new Dictionary <string, string>() { { "AlgoId", AlgoID } }; var algoIDLogResponse = await this.Consumer.ExecuteRequest(url, algoIDLog, null, Method.GET); Assert.That(algoIDLogResponse.Status, Is.EqualTo(HttpStatusCode.OK)); LogResponseDTO LogObject = JsonUtils.DeserializeJson <LogResponseDTO>(algoIDLogResponse.ResponseJson); Assert.NotNull(LogObject); }