示例#1
0
        public async void All()
        {
            var mock    = new ServiceMockFacade <ISpeciesRepository>();
            var records = new List <Species>();

            records.Add(new Species());
            mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records));
            var service = new SpeciesService(mock.LoggerMock.Object,
                                             mock.RepositoryMock.Object,
                                             mock.ModelValidatorMockFactory.SpeciesModelValidatorMock.Object,
                                             mock.BOLMapperMockFactory.BOLSpeciesMapperMock,
                                             mock.DALMapperMockFactory.DALSpeciesMapperMock,
                                             mock.BOLMapperMockFactory.BOLBreedMapperMock,
                                             mock.DALMapperMockFactory.DALBreedMapperMock);

            List <ApiSpeciesResponseModel> response = await service.All();

            response.Should().HaveCount(1);
            mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
示例#2
0
        public async void Create()
        {
            var mock  = new ServiceMockFacade <ISpeciesRepository>();
            var model = new ApiSpeciesRequestModel();

            mock.RepositoryMock.Setup(x => x.Create(It.IsAny <Species>())).Returns(Task.FromResult(new Species()));
            var service = new SpeciesService(mock.LoggerMock.Object,
                                             mock.RepositoryMock.Object,
                                             mock.ModelValidatorMockFactory.SpeciesModelValidatorMock.Object,
                                             mock.BOLMapperMockFactory.BOLSpeciesMapperMock,
                                             mock.DALMapperMockFactory.DALSpeciesMapperMock,
                                             mock.BOLMapperMockFactory.BOLBreedMapperMock,
                                             mock.DALMapperMockFactory.DALBreedMapperMock);

            CreateResponse <ApiSpeciesResponseModel> response = await service.Create(model);

            response.Should().NotBeNull();
            mock.ModelValidatorMockFactory.SpeciesModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiSpeciesRequestModel>()));
            mock.RepositoryMock.Verify(x => x.Create(It.IsAny <Species>()));
        }
示例#3
0
        public async void Delete()
        {
            var mock  = new ServiceMockFacade <ISpeciesRepository>();
            var model = new ApiSpeciesRequestModel();

            mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask);
            var service = new SpeciesService(mock.LoggerMock.Object,
                                             mock.RepositoryMock.Object,
                                             mock.ModelValidatorMockFactory.SpeciesModelValidatorMock.Object,
                                             mock.BOLMapperMockFactory.BOLSpeciesMapperMock,
                                             mock.DALMapperMockFactory.DALSpeciesMapperMock,
                                             mock.BOLMapperMockFactory.BOLBreedMapperMock,
                                             mock.DALMapperMockFactory.DALBreedMapperMock);

            ActionResponse response = await service.Delete(default(int));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>()));
            mock.ModelValidatorMockFactory.SpeciesModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>()));
        }
示例#4
0
        public async void Breeds_Exists()
        {
            var mock    = new ServiceMockFacade <ISpeciesRepository>();
            var records = new List <Breed>();

            records.Add(new Breed());
            mock.RepositoryMock.Setup(x => x.Breeds(default(int), It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records));
            var service = new SpeciesService(mock.LoggerMock.Object,
                                             mock.RepositoryMock.Object,
                                             mock.ModelValidatorMockFactory.SpeciesModelValidatorMock.Object,
                                             mock.BOLMapperMockFactory.BOLSpeciesMapperMock,
                                             mock.DALMapperMockFactory.DALSpeciesMapperMock,
                                             mock.BOLMapperMockFactory.BOLBreedMapperMock,
                                             mock.DALMapperMockFactory.DALBreedMapperMock);

            List <ApiBreedResponseModel> response = await service.Breeds(default(int));

            response.Should().NotBeEmpty();
            mock.RepositoryMock.Verify(x => x.Breeds(default(int), It.IsAny <int>(), It.IsAny <int>()));
        }
示例#5
0
        public async void Delete_NoErrorsOccurred_ShouldReturnResponse()
        {
            var mock  = new ServiceMockFacade <ISpeciesService, ISpeciesRepository>();
            var model = new ApiSpeciesServerRequestModel();

            mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask);
            var service = new SpeciesService(mock.LoggerMock.Object,
                                             mock.MediatorMock.Object,
                                             mock.RepositoryMock.Object,
                                             mock.ModelValidatorMockFactory.SpeciesModelValidatorMock.Object,
                                             mock.DALMapperMockFactory.DALSpeciesMapperMock,
                                             mock.DALMapperMockFactory.DALBreedMapperMock);

            ActionResponse response = await service.Delete(default(int));

            response.Should().NotBeNull();
            response.Success.Should().BeTrue();
            mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>()));
            mock.ModelValidatorMockFactory.SpeciesModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>()));
            mock.MediatorMock.Verify(x => x.Publish(It.IsAny <SpeciesDeletedNotification>(), It.IsAny <CancellationToken>()));
        }
示例#6
0
        public async void Delete_ErrorsOccurred_ShouldReturnErrorResponse()
        {
            var mock          = new ServiceMockFacade <ISpeciesService, ISpeciesRepository>();
            var model         = new ApiSpeciesServerRequestModel();
            var validatorMock = new Mock <IApiSpeciesServerRequestModelValidator>();

            validatorMock.Setup(x => x.ValidateDeleteAsync(It.IsAny <int>())).Returns(Task.FromResult(new FluentValidation.Results.ValidationResult(new List <ValidationFailure>()
            {
                new ValidationFailure("text", "test")
            })));
            var service = new SpeciesService(mock.LoggerMock.Object,
                                             mock.MediatorMock.Object,
                                             mock.RepositoryMock.Object,
                                             validatorMock.Object,
                                             mock.DALMapperMockFactory.DALSpeciesMapperMock,
                                             mock.DALMapperMockFactory.DALBreedMapperMock);

            ActionResponse response = await service.Delete(default(int));

            response.Should().NotBeNull();
            response.Success.Should().BeFalse();
            validatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>()));
            mock.MediatorMock.Verify(x => x.Publish(It.IsAny <SpeciesDeletedNotification>(), It.IsAny <CancellationToken>()), Times.Never());
        }
示例#7
0
        private void ServerList_Click(object sender, EventArgs e)
        {
            this.retrievingData.Visible = true;

            service         = new SpeciesService();
            service.Timeout = 10000;
            service.Url     = GameConfig.WebRoot + "/Species/AddSpecies.asmx";

            try
            {
                if (reintroduce)
                {
                    pendingAsyncResult = (WebClientAsyncResult)service.BeginGetExtinctSpecies(Assembly.GetExecutingAssembly().GetName().Version.ToString(), "", new AsyncCallback(ExtinctSpeciesCallback), null);
                }
                else
                {
                    pendingAsyncResult = (WebClientAsyncResult)service.BeginGetAllSpecies(Assembly.GetExecutingAssembly().GetName().Version.ToString(), "", new AsyncCallback(AllSpeciesCallback), null);
                }
            }
            catch (WebException)
            {
                MessageBox.Show(this, "The connection to the server timed out.  Please try again later.");
            }
        }
 public SpeciesController(SpeciesService serv)
 {
     _serv = serv;
 }
 public void TestCallSpeciesApi()
 {
     Assert.IsTrue(SpeciesService.GetAsync().Result.count > 0);
 }
示例#10
0
        private void OK_Click(object sender, System.EventArgs e)
        {
            if (pendingAsyncResult != null)
            {
                connectionCancelled = true;
                pendingAsyncResult.Abort();
                pendingAsyncResult = null;
            }

            if (GameEngine.Current == null || dataGrid1.DataSource == null ||
                this.BindingContext[dataGrid1.DataSource, "Table"] == null ||
                this.BindingContext[dataGrid1.DataSource, "Table"].Count == 0)
            {
                this.Hide();
                return;
            }

            DataRowView    drv     = (DataRowView)(this.BindingContext[dataGrid1.DataSource, "Table"].Current);
            SpeciesService service = new SpeciesService();

            service.Url     = GameConfig.WebRoot + "/Species/AddSpecies.asmx";
            service.Timeout = 60000;

            byte [] speciesAssemblyBytes = null;

            try
            {
                if (reintroduce)
                {
                    speciesAssemblyBytes = service.ReintroduceSpecies((string)drv["Name"], Assembly.GetExecutingAssembly().GetName().Version.ToString(), GameEngine.Current.CurrentVector.State.StateGuid);
                }
                else
                {
                    speciesAssemblyBytes = service.GetSpeciesAssembly((string)drv["Name"], Assembly.GetExecutingAssembly().GetName().Version.ToString());
                }
            }
            catch (WebException)
            {
                MessageBox.Show(this, "The connection to the server timed out.  Please try again later.");
            }

            if (speciesAssemblyBytes == null)
            {
                MessageBox.Show("Error retrieving species from server.");
            }
            else
            {
                dataSet.Tables["Table"].Rows.Remove(drv.Row);

                // Save it to a temp file
                string tempFile = PrivateAssemblyCache.GetSafeTempFileName();
                using (Stream fileStream = File.OpenWrite(tempFile))
                {
                    fileStream.Write(speciesAssemblyBytes, 0, (int)speciesAssemblyBytes.Length);
                    fileStream.Close();
                }

                try
                {
                    GameEngine.Current.AddNewOrganism(tempFile, Point.Empty, reintroduce);
                    File.Delete(tempFile);
                }
                catch (TargetInvocationException exception)
                {
                    Exception innerException = exception;
                    while (innerException.InnerException != null)
                    {
                        innerException = innerException.InnerException;
                    }

                    MessageBox.Show(innerException.Message, "Error Loading Assembly", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                catch (GameEngineException exception)
                {
                    MessageBox.Show(exception.Message, "Error Loading Assembly", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                this.Hide();
            }
        }
 public SpeciesController(SpeciesService speciesService)
 {
     _speciesService = speciesService;
 }