public HttpResponseMessage Get(string domain) { try { //Call Reddit RedditReader reddit = new RedditReader(); var result = reddit.Get(); // Save to db RootReddit root = new RootReddit(); root.data = result.data; root.kind = result.kind; db.RootReddits.Add(root); db.SaveChanges(); //read & format DB var itemsbyauthors = from items in db.NewsItems where items.domain == domain group items by items.author into g select new AuthorModel { author = g.Key, items = g.Select(p => new AuthorItem { Id = p.redditid, CreatedDate = p.createdDate, Title = p.title, Permalink = p.permalink }).ToList() }; return(Request.CreateResponse(HttpStatusCode.OK, itemsbyauthors)); } catch (Exception ex) { //TODO better error handling return(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, "An error occured during the request: " + ex.Message)); } }
public void RedditAPI() { RedditReader rp = new RedditReader(); var result = rp.Get(); //Assert 100 items Assert.IsNotNull(result); Assert.AreEqual(100, result.data.children.Count()); }