avatar_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Copyright 2014 The Gogs Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package avatar_test
  5. import (
  6. "log"
  7. "os"
  8. "strconv"
  9. "testing"
  10. "time"
  11. "github.com/gogits/gogs/modules/avatar"
  12. )
  13. const TMPDIR = "test-avatar"
  14. func TestFetch(t *testing.T) {
  15. os.Mkdir(TMPDIR, 0755)
  16. defer os.RemoveAll(TMPDIR)
  17. hash := avatar.HashEmail("ssx205@gmail.com")
  18. a := avatar.New(hash, TMPDIR)
  19. a.UpdateTimeout(time.Millisecond * 200)
  20. }
  21. func TestFetchMany(t *testing.T) {
  22. os.Mkdir(TMPDIR, 0755)
  23. defer os.RemoveAll(TMPDIR)
  24. log.Println("start")
  25. var n = 5
  26. ch := make(chan bool, n)
  27. for i := 0; i < n; i++ {
  28. go func(i int) {
  29. hash := avatar.HashEmail(strconv.Itoa(i) + "ssx205@gmail.com")
  30. a := avatar.New(hash, TMPDIR)
  31. a.Update()
  32. log.Println("finish", hash)
  33. ch <- true
  34. }(i)
  35. }
  36. for i := 0; i < n; i++ {
  37. <-ch
  38. }
  39. log.Println("end")
  40. }
  41. // cat
  42. // wget http://www.artsjournal.com/artfulmanager/wp/wp-content/uploads/2013/12/200x200xmirror_cat.jpg.pagespeed.ic.GOZSv6v1_H.jpg -O default.jpg
  43. /*
  44. func TestHttp(t *testing.T) {
  45. http.Handle("/", avatar.HttpHandler("./", "default.jpg"))
  46. http.ListenAndServe(":8001", nil)
  47. }
  48. */