From cbdd5790bdd4e7ff23653abcd83f54a79250521a Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 11 Jul 2016 18:16:57 +0100 Subject: [PATCH] Fix epic typo :O --- README.md | 4 +- main.go | 6 +-- {shortner => shortener}/mocks/Store.go | 0 {shortner => shortener}/normalize_url.go | 2 +- {shortner => shortener}/normalize_url_test.go | 2 +- .../shortner.go => shortener/shortener.go | 18 ++++----- .../shortener_test.go | 40 +++++++++---------- web/handlers.go | 6 +-- web/router.go | 6 +-- 9 files changed, 42 insertions(+), 42 deletions(-) rename {shortner => shortener}/mocks/Store.go (100%) rename {shortner => shortener}/normalize_url.go (98%) rename {shortner => shortener}/normalize_url_test.go (99%) rename shortner/shortner.go => shortener/shortener.go (75%) rename shortner/shortner_test.go => shortener/shortener_test.go (73%) diff --git a/README.md b/README.md index 075bcb4..3670c91 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ozu.io - A shitty URL shortner +# ozu.io - A shitty URL shortener What do you do when you wanna mess with a new programming language? You make a -URL shortner, duh! +URL shortener, duh! diff --git a/main.go b/main.go index 143252c..b3c056b 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,7 @@ import ( "log" "os" - "github.com/jimeh/ozu.io/shortner" + "github.com/jimeh/ozu.io/shortener" "github.com/jimeh/ozu.io/storage/goleveldbstore" "github.com/jimeh/ozu.io/web" "github.com/valyala/fasthttp" @@ -17,8 +17,8 @@ func main() { } defer store.Close() - shortner := shortner.New(store) - router := web.NewRouter(shortner) + s := shortener.New(store) + router := web.NewRouter(s) port := os.Getenv("PORT") if port == "" { diff --git a/shortner/mocks/Store.go b/shortener/mocks/Store.go similarity index 100% rename from shortner/mocks/Store.go rename to shortener/mocks/Store.go diff --git a/shortner/normalize_url.go b/shortener/normalize_url.go similarity index 98% rename from shortner/normalize_url.go rename to shortener/normalize_url.go index 3befca6..b7625c2 100644 --- a/shortner/normalize_url.go +++ b/shortener/normalize_url.go @@ -1,4 +1,4 @@ -package shortner +package shortener import ( "errors" diff --git a/shortner/normalize_url_test.go b/shortener/normalize_url_test.go similarity index 99% rename from shortner/normalize_url_test.go rename to shortener/normalize_url_test.go index a1e6fe5..5944073 100644 --- a/shortner/normalize_url_test.go +++ b/shortener/normalize_url_test.go @@ -1,4 +1,4 @@ -package shortner +package shortener import ( "strings" diff --git a/shortner/shortner.go b/shortener/shortener.go similarity index 75% rename from shortner/shortner.go rename to shortener/shortener.go index 3efaa88..aae4a27 100644 --- a/shortner/shortner.go +++ b/shortener/shortener.go @@ -1,4 +1,4 @@ -package shortner +package shortener import ( "crypto/sha1" @@ -9,20 +9,20 @@ import ( ) // New returns a new *Shortner that uses the given storage.Store. -func New(store storage.Store) *Shortner { - return &Shortner{Store: store} +func New(store storage.Store) *Shortener { + return &Shortener{Store: store} } var urlKeyPrefix = []byte("url:") var uidKeyPrefix = []byte("uid:") // Shortner interface -type Shortner struct { +type Shortener struct { Store storage.Store } // Shorten a given URL. -func (s *Shortner) Shorten(rawURL []byte) (uid []byte, url []byte, err error) { +func (s *Shortener) Shorten(rawURL []byte) (uid []byte, url []byte, err error) { url, err = NormalizeURL(rawURL) if err != nil { return nil, nil, err @@ -57,7 +57,7 @@ func (s *Shortner) Shorten(rawURL []byte) (uid []byte, url []byte, err error) { } // Lookup the URL of a given UID. -func (s *Shortner) Lookup(uid []byte) ([]byte, error) { +func (s *Shortener) Lookup(uid []byte) ([]byte, error) { uidKey := s.makeUIDKey(uid) url, err := s.Store.Get(uidKey) @@ -68,7 +68,7 @@ func (s *Shortner) Lookup(uid []byte) ([]byte, error) { return url, nil } -func (s *Shortner) newUID() ([]byte, error) { +func (s *Shortener) newUID() ([]byte, error) { index, err := s.Store.NextSequence() if err != nil { return nil, err @@ -77,11 +77,11 @@ func (s *Shortner) newUID() ([]byte, error) { return base58.Encode(index), nil } -func (s *Shortner) makeUIDKey(uid []byte) []byte { +func (s *Shortener) makeUIDKey(uid []byte) []byte { return append(uidKeyPrefix, uid...) } -func (s *Shortner) makeURLKey(rawURL []byte) []byte { +func (s *Shortener) makeURLKey(rawURL []byte) []byte { urlSHA := fmt.Sprintf("%x", sha1.Sum(rawURL)) return append(urlKeyPrefix, urlSHA...) } diff --git a/shortner/shortner_test.go b/shortener/shortener_test.go similarity index 73% rename from shortner/shortner_test.go rename to shortener/shortener_test.go index b44bc8c..cb0a121 100644 --- a/shortner/shortner_test.go +++ b/shortener/shortener_test.go @@ -1,4 +1,4 @@ -package shortner +package shortener import ( "crypto/sha1" @@ -7,7 +7,7 @@ import ( "strings" "testing" - "github.com/jimeh/ozu.io/shortner/mocks" + "github.com/jimeh/ozu.io/shortener/mocks" "github.com/stretchr/testify/suite" ) @@ -17,36 +17,36 @@ import ( // Suite Setup -type ShortnerSuite struct { +type ShortenerSuite struct { suite.Suite store *mocks.Store - shortner *Shortner + shortener *Shortener errNotFound error } -func (s *ShortnerSuite) SetupTest() { +func (s *ShortenerSuite) SetupTest() { s.store = new(mocks.Store) - s.shortner = New(s.store) + s.shortener = New(s.store) s.errNotFound = errors.New("not found") } // Tests -func (s *ShortnerSuite) TestShortenExisting() { +func (s *ShortenerSuite) TestShortenExisting() { rawURL := []byte("http://google.com/") uid := []byte("ig") urlSHA := fmt.Sprintf("%x", sha1.Sum(rawURL)) s.store.On("Get", append([]byte("url:"), urlSHA...)).Return(uid, nil) - resultUID, resultURL, err := s.shortner.Shorten(rawURL) + resultUID, resultURL, err := s.shortener.Shorten(rawURL) s.NoError(err) s.Equal(uid, resultUID) s.Equal(rawURL, resultURL) s.store.AssertExpectations(s.T()) } -func (s *ShortnerSuite) TestShortenNew() { +func (s *ShortenerSuite) TestShortenNew() { rawURL := []byte("https://google.com") url := []byte("https://google.com/") uid := []byte("ig") @@ -57,7 +57,7 @@ func (s *ShortnerSuite) TestShortenNew() { s.store.On("Set", urlKey, uid).Return(nil) s.store.On("Set", append([]byte("uid:"), uid...), url).Return(nil) - rUID, rURL, err := s.shortner.Shorten(rawURL) + rUID, rURL, err := s.shortener.Shorten(rawURL) s.NoError(err) s.Equal(uid, rUID) @@ -65,7 +65,7 @@ func (s *ShortnerSuite) TestShortenNew() { s.store.AssertExpectations(s.T()) } -func (s *ShortnerSuite) TestShortenInvalidURL() { +func (s *ShortenerSuite) TestShortenInvalidURL() { examples := []struct { url string error string @@ -93,45 +93,45 @@ func (s *ShortnerSuite) TestShortenInvalidURL() { } for _, e := range examples { - rUID, rURL, err := s.shortner.Shorten([]byte(e.url)) + rUID, rURL, err := s.shortener.Shorten([]byte(e.url)) s.Nil(rUID) s.Nil(rURL) s.EqualError(err, e.error) } } -func (s *ShortnerSuite) TestShortenStoreError() { +func (s *ShortenerSuite) TestShortenStoreError() { url := []byte("https://google.com/") storeErr := errors.New("leveldb: something wrong") urlKey := append([]byte("url:"), fmt.Sprintf("%x", sha1.Sum(url))...) s.store.On("Get", urlKey).Return(nil, storeErr) - rUID, rURL, err := s.shortner.Shorten(url) + rUID, rURL, err := s.shortener.Shorten(url) s.Nil(rUID) s.Nil(rURL) s.EqualError(err, storeErr.Error()) } -func (s *ShortnerSuite) TestLookupExisting() { +func (s *ShortenerSuite) TestLookupExisting() { url := []byte("https://google.com/") uid := []byte("ig") s.store.On("Get", append([]byte("uid:"), uid...)).Return(url, nil) - rURL, err := s.shortner.Lookup(uid) + rURL, err := s.shortener.Lookup(uid) s.NoError(err) s.Equal(url, rURL) s.store.AssertExpectations(s.T()) } -func (s *ShortnerSuite) TestLookupNonExistant() { +func (s *ShortenerSuite) TestLookupNonExistant() { uid := []byte("ig") s.store.On("Get", append([]byte("uid:"), uid...)).Return(nil, s.errNotFound) - rURL, err := s.shortner.Lookup(uid) + rURL, err := s.shortener.Lookup(uid) s.EqualError(err, "not found") s.Nil(rURL) @@ -140,6 +140,6 @@ func (s *ShortnerSuite) TestLookupNonExistant() { // Run Suite -func TestShortnerSuite(t *testing.T) { - suite.Run(t, new(ShortnerSuite)) +func TestShortenerSuite(t *testing.T) { + suite.Run(t, new(ShortenerSuite)) } diff --git a/web/handlers.go b/web/handlers.go index 6f8d630..232ec08 100644 --- a/web/handlers.go +++ b/web/handlers.go @@ -5,19 +5,19 @@ import ( "fmt" "net/url" - "github.com/jimeh/ozu.io/shortner" + "github.com/jimeh/ozu.io/shortener" "github.com/qiangxue/fasthttp-routing" "github.com/valyala/fasthttp" ) // Handlers handle HTTP requests. type Handlers struct { - s *shortner.Shortner + s *shortener.Shortener } // Index handles requests for root. func (h *Handlers) Index(c *routing.Context) error { - c.WriteString("Welcome to ozu.io, a shitty URL shortner.") + c.WriteString("Welcome to ozu.io, a shitty URL shortener.") return nil } diff --git a/web/router.go b/web/router.go index 39624a3..c2f43f3 100644 --- a/web/router.go +++ b/web/router.go @@ -1,14 +1,14 @@ package web import ( - "github.com/jimeh/ozu.io/shortner" + "github.com/jimeh/ozu.io/shortener" "github.com/qiangxue/fasthttp-routing" ) // NewRouter creates a new routing.Router with all handlers registered. -func NewRouter(shortner *shortner.Shortner) *routing.Router { +func NewRouter(shortener *shortener.Shortener) *routing.Router { router := routing.New() - handlers := Handlers{shortner} + handlers := Handlers{shortener} router.Get("/", handlers.Index) router.Get("/api/shorten", handlers.Shorten)