<commit_before>package s3git

import (
	"fmt"
	"github.com/s3git/s3git-go/internal/core"
	_ "github.com/stretchr/testify/assert"
	"strings"
	"testing"
	"time"
)

func TestPull(t *testing.T) {
	repo, path := setupRepo()
	fmt.Println(path)
	//defer teardownRepo(path)

	for i := 0; i < 10; i++ {
		repo.Add(strings.NewReader(fmt.Sprintf("hello s3git: %d, %s", i, time.Now())))
	}

	hash, _, _ := repo.Commit("1st commit")

	core.GetCommitObject(hash)

	repo.Push()

	repo.Pull()
}
<commit_msg>Added comments to pull test case (but needs more work)<commit_after>package s3git

import (
	"fmt"
	"github.com/s3git/s3git-go/internal/core"
	"github.com/stretchr/testify/assert"
	"strings"
	"testing"
	"time"
)

// TODO: Think about how to deal with S3 test bucket (or make fake 'back-end' that runs locally in temp storage)
// TODO: Do proper test that does not rely on external (S3) state
func TestPull(t *testing.T) {
	repo, path := setupRepo()
	fmt.Println(path)
	//defer teardownRepo(path)

	err := repo.Pull()
	assert.Nil(t, err)

	for i := 0; i < 10; i++ {
		repo.Add(strings.NewReader(fmt.Sprintf("hello s3git: %d, %s", i, time.Now())))
	}

	hash, _, _ := repo.Commit("1st commit")

	core.GetCommitObject(hash)

	repo.Push()

	err = repo.Pull()
	assert.Nil(t, err)
}

{'fraction_non_alphanumeric': 0.1681136543014996, 'fraction_numerical': 0.014206787687450671, 'mean_word_length': 3.9921259842519685, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4761999', 'n_tokens_mistral': 527, 'n_tokens_neox': 511, 'n_words': 120}