public BooksController(IBookStore store, ImageUploader imageUploader, BookDetailLookup bookDetailLookup) { _store = store; _imageUploader = imageUploader; _bookDetailLookup = bookDetailLookup; }
public void TestProcessBook() { FakeBookStore bookStore = new FakeBookStore(); BookDetailLookup bookDetailLookup = NewBookDetailLookup(); bookDetailLookup.ProcessBook(bookStore, 3); Assert.Equal(3, bookStore.UpdatedBook.Id); Assert.Contains("JavaScript", bookStore.UpdatedBook.Title); }
public void TestProcessBook() { FakeBookStore bookStore = new FakeBookStore(); BookDetailLookup bookDetailLookup = NewBookDetailLookup(); bookDetailLookup.ProcessBook(bookStore, 3); Assert.Equal(3, bookStore.UpdatedBook.Id); Assert.Equal("Test-Driven JavaScript Development", bookStore.UpdatedBook.Title); Assert.Equal("Christian Johansen", bookStore.UpdatedBook.Author); }
public void TestUpdateBookFromJsonBackendError() { var json = System.IO.File.ReadAllText(@"testdata\BackendError.json"); Book book = new Book(); BookDetailLookup.UpdateBookFromJson(json, book); Assert.Equal(null, book.Title); Assert.Equal(null, book.Author); Assert.Equal(null, book.PublishedDate); Assert.Equal(null, book.Description); }
public void TestLoop() { BookDetailLookup bookDetailLookup = NewBookDetailLookup(); bookDetailLookup.CreateTopicAndSubscription(); var cancel = new CancellationTokenSource(); var pullTask = bookDetailLookup.StartPullLoop(new FakeBookStore(), cancel.Token); cancel.CancelAfter(100); pullTask.Wait(); }
public void TestUpdateBookFromJsonRedFern() { var json = System.IO.File.ReadAllText(@"testdata\RedFern.json"); Book book = new Book(); BookDetailLookup.UpdateBookFromJson(json, book); Assert.Equal("Where the Red Fern Grows", book.Title); Assert.Equal("Wilson Rawls", book.Author); Assert.Equal(new DateTime(1978, 1, 1), book.PublishedDate); Assert.Contains("Ozarks", book.Description); Assert.Equal("http://books.google.com/books/content?" + "id=-ddvPQAACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api", book.ImageUrl); }
/// <summary>Registers the type mappings with the Unity container.</summary> /// <param name="container">The unity container to configure.</param> public static void RegisterTypes(IUnityContainer container) { LibUnityConfig.RegisterTypes(container); var bookDetailLookup = new BookDetailLookup(LibUnityConfig.ProjectId); bookDetailLookup.CreateTopicAndSubscription(); container.RegisterInstance <BookDetailLookup>(bookDetailLookup); container.RegisterInstance <ImageUploader>( new ImageUploader( LibUnityConfig.GetConfigVariable("GoogleCloudSamples:BucketName") ) ); }
public void TestPubsub() { BookDetailLookup bookDetailLookup = NewBookDetailLookup(); bookDetailLookup.CreateTopicAndSubscription(); bookDetailLookup.EnqueueBook(45); var cancel = new CancellationTokenSource(); var pullTask = Task.Factory.StartNew(() => bookDetailLookup.PullLoop((long bookId) => { Assert.Equal(45, bookId); cancel.Cancel(); }, cancel.Token)); pullTask.Wait(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // Launch a thread that watches the book detail subscription. var container = App_Start.UnityConfig.GetConfiguredContainer(); LibUnityConfig.RegisterTypes(container); var bookDetailLookup = new BookDetailLookup(LibUnityConfig.ProjectId, logger: LogTicker.Instance); bookDetailLookup.CreateTopicAndSubscription(); var pullTask = bookDetailLookup.StartPullLoop(container.Resolve<IBookStore>(), new CancellationTokenSource().Token); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // Launch a thread that watches the book detail subscription. var container = App_Start.UnityConfig.GetConfiguredContainer(); LibUnityConfig.RegisterTypes(container); var bookDetailLookup = new BookDetailLookup(LibUnityConfig.ProjectId, logger: LogTicker.Instance); bookDetailLookup.CreateTopicAndSubscription(); var pullTask = bookDetailLookup.StartPullLoop(container.Resolve <IBookStore>(), new CancellationTokenSource().Token); }
public BooksController(IBookStore store, BookDetailLookup bookDetailLookup) { _store = store; _bookDetailLookup = bookDetailLookup; }