コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
 private void metaDataNameChanged(MetaDataDTO metaDataDTO, string oldName)
 {
     AddCommand(_observedDataMetaDataTask.ChangeMetaData(_allDataRepositories,
                                                         new MetaDataChanged {
         NewName = metaDataDTO.Name, OldName = oldName, OldValue = metaDataDTO.Value, NewValue = metaDataDTO.Value
     }));
 }
コード例 #9
0
        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));
        }
コード例 #10
0
        private void configureValueRepository(BaseEdit baseEdit, MetaDataDTO dto)
        {
            if (!dto.HasListOfValues)
            {
                return;
            }

            baseEdit.FillComboBoxEditorWith(dto.ListOfValues);
        }
コード例 #11
0
 private static void PrintMetaData(MetaDataDTO metaData)
 {
     if (metaData is FolderDTO)
     {
         PrintFolder((FolderDTO)metaData);
     }
     else
     {
         PrintFile((FileDTO)metaData);
     }
 }
コード例 #12
0
        public async Task UploadMetadataBadRequest(string badName)
        {
            string url = ApiPaths.ALGO_STORE_METADATA;

            MetaDataDTO metadata = new MetaDataDTO()
            {
                Name        = badName,
                Description = badName
            };

            var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(metadata), Method.POST);

            Assert.That(response.Status, Is.EqualTo(HttpStatusCode.BadRequest));
        }
コード例 #13
0
        private void handleThisChange(Action <MetaDataDTO, string> actionToRun, MetaDataDTO metaDataDTO, string oldData, string originalKey)
        {
            if (!metaDataDTO.IsValid())
            {
                return;
            }

            if (_allDataRepositories.All(x => x.ExtendedProperties.Contains(originalKey)))
            {
                actionToRun(metaDataDTO, oldData);
            }
            else
            {
                metaDataAdded(metaDataDTO);
            }
        }
コード例 #14
0
        public static async Task <NMSLoginDTO> GetNMSLoginDetails(string loginId, string password)
        {
            NMSLoginDTO loginDTO = new NMSLoginDTO();
            string      api      = "http://10.3.12.117/api/User/LoginMMS/";
            SigninDTO   signin   = new SigninDTO();

            signin.Login    = loginId;
            signin.Password = password;
            string        postJson     = JsonConvert.SerializeObject(signin);
            StringContent content      = new StringContent(postJson, Encoding.UTF8, "application/json");
            string        responseBody = string.Empty;

            using (var client = new HttpClient())
            {
                var response = await client.PostAsync(api, content);

                response.EnsureSuccessStatusCode();
                responseBody = await response.Content.ReadAsStringAsync();
            }
            if (responseBody != null)
            {
                var data = JObject.Parse(responseBody);
                if (data != null)
                {
                    if (Convert.ToBoolean(data["IsSuccess"].ToString()) == true && Convert.ToInt32(data["Data"]["UserId"].ToString()) > 0)
                    {
                        var dataSize = ((JArray)data["Data"]["MetaData"]).Count;

                        loginDTO.FullName   = data["Data"]["FullName"].ToString();
                        loginDTO.UserId     = Convert.ToInt32(data["Data"]["UserId"].ToString());
                        loginDTO.SessionKey = data["Data"]["SessionKey"].ToString();
                        List <MetaDataDTO> metaDataList = new List <MetaDataDTO>();
                        for (int i = 0; i < dataSize; i++)
                        {
                            MetaDataDTO metaData = new MetaDataDTO();
                            metaData.MetaDataId = Convert.ToInt32(data["Data"]["MetaData"][i]["MetaDataId"].ToString());
                            metaData.MetaName   = data["Data"]["MetaData"][i]["MetaName"].ToString();
                            metaData.MetaTypeId = Convert.ToInt32(data["Data"]["MetaData"][i]["MetaTypeId"].ToString());
                            metaData.MetaValue  = data["Data"]["MetaData"][i]["MetaValue"].ToString();
                            metaDataList.Add(metaData);
                        }
                        loginDTO.MetaData = metaDataList;
                    }
                }
            }
            return(loginDTO);
        }
コード例 #15
0
 private MetaDataKeyValue mapFrom(MetaDataDTO dto)
 {
     return(new MetaDataKeyValue {
         Key = dto.Name, Value = dto.Value
     });
 }
コード例 #16
0
 public IEnumerable <string> PredefinedValuesFor(MetaDataDTO metaDataDTO)
 {
     return(_observedDataConfiguration.PredefinedValuesFor(metaDataDTO.Name));
 }
コード例 #17
0
 public void RemoveMetaData(MetaDataDTO metaDataDTO)
 {
     AddCommand(_observedDataMetaDataTask.RemoveMetaData(_allDataRepositories, mapFrom(metaDataDTO)));
 }
コード例 #18
0
 public void MetaDataNameChanged(MetaDataDTO metaDataDTO, string oldName)
 {
     handleThisChange(metaDataNameChanged, metaDataDTO, oldName, oldName);
 }
コード例 #19
0
 private RepositoryItem nameRepository(MetaDataDTO dto)
 {
     return(dto.NameEditable ? _stantdardEditRepository : _readOnlyRepository);
 }
コード例 #20
0
 private void metaDataAdded(MetaDataDTO metaDataDTO)
 {
     AddCommand(_observedDataMetaDataTask.AddMetaData(_allDataRepositories, mapFrom(metaDataDTO)));
 }
コード例 #21
0
ファイル: PaginationHelper.cs プロジェクト: seavty/LoanWebApp
        //-> GetMetaData
        public static async Task <MetaDataDTO> GetMetaData(int currentPage, IQueryable <dynamic> records, string orderColumn, string orderBy, string search, bool isMasterDetailList = false)
        {
            int myPageSize = PAGE_SIZE;

            if (isMasterDetailList)
            {
                myPageSize = PAGE_SIZE_MASTER_DETAIL_List;
            }

            int totalRecord = await records.CountAsync();

            double getTotalPage = ((double)totalRecord / myPageSize);
            int    totalPage    = (int)Math.Ceiling(getTotalPage);

            if (currentPage < 1 || currentPage > totalPage)
            {
                currentPage = 0;
            }

            var metaData = new MetaDataDTO();

            metaData.currentPage = currentPage;

            //-- start row
            if (currentPage > 0)
            {
                metaData.startRow = GetStartRow(currentPage) + 1;
            }

            //-- end row
            int endRow = currentPage * myPageSize;

            if (endRow > totalRecord)
            {
                endRow = totalRecord;
            }
            metaData.endRow = endRow;

            metaData.startPage = GetStartPage(currentPage);
            metaData.endPage   = GetEndPage(GetStartPage(currentPage), totalPage);

            //-- first page
            if (currentPage == 0 || currentPage == 1)
            {
                metaData.firstPageCssClass = PAGINATION_DISABLE_CLASS;
            }

            //-- last page
            if (currentPage == totalPage)
            {
                metaData.lastPageCssClass = PAGINATION_DISABLE_CLASS;
            }

            //-- previous page
            if (currentPage == 0 || currentPage == 1)
            {
                metaData.previousPageCssClass = PAGINATION_DISABLE_CLASS;
            }
            else
            {
                metaData.previousPage = currentPage - 1;
            }

            //-- next page
            if (currentPage == totalPage)
            {
                metaData.nextPageCssClass = PAGINATION_DISABLE_CLASS;
            }
            else
            {
                metaData.nextPage = currentPage + 1;
            }

            //--supplment row
            if (currentPage == totalPage)
            {
                metaData.supplementRow = currentPage * PAGE_SIZE - totalRecord;
            }

            metaData.pageSize    = myPageSize;
            metaData.totalPage   = totalPage;
            metaData.totalRecord = totalRecord;
            metaData.orderColumn = orderColumn;
            metaData.orderBy     = orderBy;
            metaData.search      = search;

            return(metaData);
        }
コード例 #22
0
        //-> GetMetaData
        public static MetaDataDTO GetMetaData(int currentPage, int totalRecord, bool isMasterDetailList = false)
        {
            double getTotalPage = ((double)totalRecord / PAGE_SIZE);
            int    totalPage    = (int)Math.Ceiling(getTotalPage);

            if (currentPage < 1 || currentPage > totalPage)
            {
                currentPage = 0;
            }

            var metaData = new MetaDataDTO();

            metaData.currentPage = currentPage;

            //-- start row
            if (currentPage > 0)
            {
                metaData.startRow = (currentPage - 1) * PAGE_SIZE + 1;
            }

            //-- end row
            int endRow = currentPage * PAGE_SIZE;

            if (endRow > totalRecord)
            {
                endRow = totalRecord;
            }
            metaData.endRow = endRow;

            int useStarPage = 0;
            int useEndPage  = 0;

            if (totalPage == 0)
            {
                useEndPage = -1;
            }
            else if (currentPage <= NUMBER_OF_PAGING_IN_PAGINATION_BAR)
            {
                useStarPage = 1;
                useEndPage  = NUMBER_OF_PAGING_IN_PAGINATION_BAR;
                if (totalPage < NUMBER_OF_PAGING_IN_PAGINATION_BAR)
                {
                    useEndPage = totalPage;
                }
            }
            else
            {
                if (currentPage % NUMBER_OF_PAGING_IN_PAGINATION_BAR == 0)
                {
                    useEndPage  = currentPage;
                    useStarPage = currentPage - NUMBER_OF_PAGING_IN_PAGINATION_BAR + 1;
                }
                else
                {
                    int getDivideResult = currentPage / NUMBER_OF_PAGING_IN_PAGINATION_BAR;
                    useStarPage = getDivideResult * NUMBER_OF_PAGING_IN_PAGINATION_BAR + 1;
                    useEndPage  = useStarPage + NUMBER_OF_PAGING_IN_PAGINATION_BAR - 1;
                    if (useEndPage > totalPage)
                    {
                        useEndPage = totalPage;
                    }
                }
            }
            metaData.startPage = useStarPage;
            metaData.endPage   = useEndPage;

            //-- first page
            if (currentPage == 0 || currentPage == 1)
            {
                metaData.firstPageCssClass = PAGINATION_DISABLE_CLASS;
            }

            //-- last page
            if (currentPage == totalPage)
            {
                metaData.lastPageCssClass = PAGINATION_DISABLE_CLASS;
            }

            //-- previous page
            if (currentPage == 0 || currentPage == 1)
            {
                metaData.previousPageCssClass = PAGINATION_DISABLE_CLASS;
            }
            else
            {
                metaData.previousPage = currentPage - 1;
            }

            //-- next page
            if (currentPage == totalPage)
            {
                metaData.nextPageCssClass = PAGINATION_DISABLE_CLASS;
            }
            else
            {
                metaData.nextPage = currentPage + 1;
            }

            //--supplment row
            if (currentPage == totalPage)
            {
                metaData.supplementRow = currentPage * PAGE_SIZE - totalRecord;
            }

            metaData.pageSize    = PAGE_SIZE;
            metaData.totalPage   = totalPage;
            metaData.totalRecord = totalRecord;
            return(metaData);
        }
コード例 #23
0
 private void onValueChanged(MetaDataDTO metaDataDTO, PropertyValueSetEventArgs <string> e)
 {
     _presenter.MetaDataValueChanged(metaDataDTO, e.OldValue);
 }
コード例 #24
0
 private RepositoryItem valueRepository(MetaDataDTO dto)
 {
     return(dto.ValueReadOnly
     ? _readOnlyRepository
     : dto.HasListOfValues?_repositoryForPredefinedValues : _stantdardEditRepository);
 }
コード例 #25
0
 public void MetaDataValueChanged(MetaDataDTO metaDataDTO, string oldValue)
 {
     handleThisChange(metaDataValueChanged, metaDataDTO, oldValue, metaDataDTO.Name);
 }
コード例 #26
0
        public async Task DeployStringAlgo()
        {
            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);

            GetPopulatedInstanceDataDTO getinstanceAlgo = new GetPopulatedInstanceDataDTO();

            InstanceDataDTO instanceForAlgo = getinstanceAlgo.returnInstanceDataDTO(stringDTO.AlgoId);

            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 == System.Net.HttpStatusCode.OK);

            InstanceDataDTO 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);

            Assert.That(postInstanceDataResponse.Status == System.Net.HttpStatusCode.OK);

            url = ApiPaths.ALGO_STORE_CASCADE_DELETE;
            int retryCounter = 0;

            CascadeDeleteDTO editMetaData = new CascadeDeleteDTO()
            {
                AlgoId     = postInstanceData.AlgoId,
                InstanceId = postInstanceData.InstanceId
            };
            var responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST);

            // Currently we can not send cascade delete to kubernatees if he has not build the algo before that thorus not found and we leave data

            while (responceCascadeDelete.Status.Equals(System.Net.HttpStatusCode.NotFound) && retryCounter <= 30)
            {
                System.Threading.Thread.Sleep(10000);
                responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(editMetaData), Method.POST);

                retryCounter++;
            }

            Assert.That(responceCascadeDelete.Status == System.Net.HttpStatusCode.NoContent);
        }
コード例 #27
0
        public async Task StopAlgo()
        {
            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.That(responsetemp.Status, Is.EqualTo(HttpStatusCode.NoContent));

            //InstanceDataDTO 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);

            Assert.That(postInstanceDataResponse.Status, Is.EqualTo(HttpStatusCode.OK));

            InstanceDataDTO 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);

            Assert.That(postInstanceDataResponse.Status, Is.EqualTo(HttpStatusCode.OK));

            url = ApiPaths.ALGO_STORE_ALGO_STOP;
            int retryCounter = 0;

            StopBinaryDTO stopAlgo = new StopBinaryDTO()
            {
                AlgoId     = postInstanceData.AlgoId,
                InstanceId = postInstanceData.InstanceId
            };
            var responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(stopAlgo), Method.POST);

            StopBinaryResponseDTO stopAlgoResponce = JsonUtils.DeserializeJson <StopBinaryResponseDTO>(responceCascadeDelete.ResponseJson);;

            while ((stopAlgoResponce.Status.Equals("Deploying") || stopAlgoResponce.Status.Equals("Started")) && retryCounter <= 30)
            {
                System.Threading.Thread.Sleep(10000);
                responceCascadeDelete = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, JsonUtils.SerializeObject(stopAlgo), Method.POST);

                stopAlgoResponce = JsonUtils.DeserializeJson <StopBinaryResponseDTO>(responceCascadeDelete.ResponseJson);

                retryCounter++;
            }

            Assert.That(responceCascadeDelete.Status, Is.EqualTo(HttpStatusCode.OK));

            Assert.That(stopAlgoResponce.Status, Is.EqualTo("Stopped"));

            ClientInstanceEntity algoInstanceEntitiy = await ClientInstanceRepository.TryGetAsync(t => t.PartitionKey == "algo_" + stringDTO.AlgoId) as ClientInstanceEntity;

            Assert.That(algoInstanceEntitiy.AlgoInstanceStatusValue, Is.EqualTo("Stopped"));
        }
コード例 #28
0
        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);
        }
コード例 #29
0
 private RepositoryItem removeRepository(MetaDataDTO dto)
 {
     return(dto.NameEditable ? _removeButtonRepository : _disabledRemoveButtonRepository);
 }