Ejemplo n.º 1
0
    public async Task CanListGists()
    {
        // Time is tricky between local and remote, be leinent
        var startTime = DateTimeOffset.Now.Subtract(TimeSpan.FromHours(1));
        var newGist   = new NewGist();

        newGist.Description = "my new gist";
        newGist.Public      = true;

        newGist.Files.Add("myGistTestFile.cs", "new GistsClient(connection).Create();");

        var createdGist = await _fixture.Create(newGist);

        // Test get all Gists
        var gists = await _fixture.GetAll();

        Assert.NotNull(gists);

        // Test get all Gists since startTime
        gists = await _fixture.GetAll(startTime);

        Assert.NotNull(gists);
        Assert.True(gists.Count > 0);

        // Make sure we can successfully request gists for another user
        Assert.DoesNotThrow(async() => { await _fixture.GetAllForUser("FakeHaacked"); });
        Assert.DoesNotThrow(async() => { await _fixture.GetAllForUser("FakeHaacked", startTime); });

        // Test public gists
        var publicGists = await _fixture.GetAllPublic();

        Assert.True(publicGists.Count > 1);

        var publicGistsSinceStartTime = await _fixture.GetAllPublic(startTime);

        Assert.True(publicGistsSinceStartTime.Count > 0);

        // Test starred gists
        await _fixture.Star(createdGist.Id);

        var starredGists = await _fixture.GetAllStarred();

        Assert.NotNull(starredGists);
        Assert.True(starredGists.Any(x => x.Id == createdGist.Id));

        var starredGistsSinceStartTime = await _fixture.GetAllStarred(startTime);

        Assert.NotNull(starredGistsSinceStartTime);
        Assert.True(starredGistsSinceStartTime.Any(x => x.Id == createdGist.Id));

        await _fixture.Delete(createdGist.Id);
    }
Ejemplo n.º 2
0
        public async Task <IReadOnlyList <GistModel> > GetGistsAsync()
        {
            var gists = (await gistClient.GetAll()).Select(g => new GistModel(g)).ToList();

            foreach (var gist in gists)
            {
                // HACK: History is readonly!!!!
                ((List <GistHistoryEntryModel>)gist.History).AddRange(await GetGistHistoryEntriesAsync(gist.Id));
            }
            return(gists);
        }