mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-20 11:55:18 +00:00
320 lines
7.0 KiB
Go
320 lines
7.0 KiB
Go
|
// Copyright (C) 2012 Numerotron Inc.
|
||
|
// Use of this source code is governed by an MIT-style license
|
||
|
// that can be found in the LICENSE file.
|
||
|
|
||
|
package stathat
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestNewEZStatCount(t *testing.T) {
|
||
|
setTesting()
|
||
|
x := newEZStatCount("abc", "pc@pc.com", 1)
|
||
|
if x == nil {
|
||
|
t.Fatalf("expected a StatReport object")
|
||
|
}
|
||
|
if x.statType != kcounter {
|
||
|
t.Errorf("expected counter")
|
||
|
}
|
||
|
if x.apiType != ez {
|
||
|
t.Errorf("expected EZ api")
|
||
|
}
|
||
|
if x.StatKey != "abc" {
|
||
|
t.Errorf("expected abc")
|
||
|
}
|
||
|
if x.UserKey != "pc@pc.com" {
|
||
|
t.Errorf("expected pc@pc.com")
|
||
|
}
|
||
|
if x.Value != 1.0 {
|
||
|
t.Errorf("expected 1.0")
|
||
|
}
|
||
|
if x.Timestamp != 0 {
|
||
|
t.Errorf("expected 0")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestNewEZStatValue(t *testing.T) {
|
||
|
setTesting()
|
||
|
x := newEZStatValue("abc", "pc@pc.com", 3.14159)
|
||
|
if x == nil {
|
||
|
t.Fatalf("expected a StatReport object")
|
||
|
}
|
||
|
if x.statType != kvalue {
|
||
|
t.Errorf("expected value")
|
||
|
}
|
||
|
if x.apiType != ez {
|
||
|
t.Errorf("expected EZ api")
|
||
|
}
|
||
|
if x.StatKey != "abc" {
|
||
|
t.Errorf("expected abc")
|
||
|
}
|
||
|
if x.UserKey != "pc@pc.com" {
|
||
|
t.Errorf("expected pc@pc.com")
|
||
|
}
|
||
|
if x.Value != 3.14159 {
|
||
|
t.Errorf("expected 3.14159")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestNewClassicStatCount(t *testing.T) {
|
||
|
setTesting()
|
||
|
x := newClassicStatCount("statkey", "userkey", 1)
|
||
|
if x == nil {
|
||
|
t.Fatalf("expected a StatReport object")
|
||
|
}
|
||
|
if x.statType != kcounter {
|
||
|
t.Errorf("expected counter")
|
||
|
}
|
||
|
if x.apiType != classic {
|
||
|
t.Errorf("expected CLASSIC api")
|
||
|
}
|
||
|
if x.StatKey != "statkey" {
|
||
|
t.Errorf("expected statkey")
|
||
|
}
|
||
|
if x.UserKey != "userkey" {
|
||
|
t.Errorf("expected userkey")
|
||
|
}
|
||
|
if x.Value != 1.0 {
|
||
|
t.Errorf("expected 1.0")
|
||
|
}
|
||
|
if x.Timestamp != 0 {
|
||
|
t.Errorf("expected 0")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestNewClassicStatValue(t *testing.T) {
|
||
|
setTesting()
|
||
|
x := newClassicStatValue("statkey", "userkey", 2.28)
|
||
|
if x == nil {
|
||
|
t.Fatalf("expected a StatReport object")
|
||
|
}
|
||
|
if x.statType != kvalue {
|
||
|
t.Errorf("expected value")
|
||
|
}
|
||
|
if x.apiType != classic {
|
||
|
t.Errorf("expected CLASSIC api")
|
||
|
}
|
||
|
if x.StatKey != "statkey" {
|
||
|
t.Errorf("expected statkey")
|
||
|
}
|
||
|
if x.UserKey != "userkey" {
|
||
|
t.Errorf("expected userkey")
|
||
|
}
|
||
|
if x.Value != 2.28 {
|
||
|
t.Errorf("expected 2.28")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestURLValues(t *testing.T) {
|
||
|
setTesting()
|
||
|
x := newEZStatCount("abc", "pc@pc.com", 1)
|
||
|
v := x.values()
|
||
|
if v == nil {
|
||
|
t.Fatalf("expected url values")
|
||
|
}
|
||
|
if v.Get("stat") != "abc" {
|
||
|
t.Errorf("expected abc")
|
||
|
}
|
||
|
if v.Get("ezkey") != "pc@pc.com" {
|
||
|
t.Errorf("expected pc@pc.com")
|
||
|
}
|
||
|
if v.Get("count") != "1" {
|
||
|
t.Errorf("expected count of 1")
|
||
|
}
|
||
|
|
||
|
y := newEZStatValue("abc", "pc@pc.com", 3.14159)
|
||
|
v = y.values()
|
||
|
if v == nil {
|
||
|
t.Fatalf("expected url values")
|
||
|
}
|
||
|
if v.Get("stat") != "abc" {
|
||
|
t.Errorf("expected abc")
|
||
|
}
|
||
|
if v.Get("ezkey") != "pc@pc.com" {
|
||
|
t.Errorf("expected pc@pc.com")
|
||
|
}
|
||
|
if v.Get("value") != "3.14159" {
|
||
|
t.Errorf("expected value of 3.14159")
|
||
|
}
|
||
|
|
||
|
a := newClassicStatCount("statkey", "userkey", 1)
|
||
|
v = a.values()
|
||
|
if v == nil {
|
||
|
t.Fatalf("expected url values")
|
||
|
}
|
||
|
if v.Get("key") != "statkey" {
|
||
|
t.Errorf("expected statkey")
|
||
|
}
|
||
|
if v.Get("ukey") != "userkey" {
|
||
|
t.Errorf("expected userkey")
|
||
|
}
|
||
|
if v.Get("count") != "1" {
|
||
|
t.Errorf("expected count of 1")
|
||
|
}
|
||
|
|
||
|
b := newClassicStatValue("statkey", "userkey", 2.28)
|
||
|
v = b.values()
|
||
|
if v == nil {
|
||
|
t.Fatalf("expected url values")
|
||
|
}
|
||
|
if v.Get("key") != "statkey" {
|
||
|
t.Errorf("expected statkey")
|
||
|
}
|
||
|
if v.Get("ukey") != "userkey" {
|
||
|
t.Errorf("expected userkey")
|
||
|
}
|
||
|
if v.Get("value") != "2.28" {
|
||
|
t.Errorf("expected value of 2.28")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestPaths(t *testing.T) {
|
||
|
if ez.path(kcounter) != "/ez" {
|
||
|
t.Errorf("expected /ez")
|
||
|
}
|
||
|
if ez.path(kvalue) != "/ez" {
|
||
|
t.Errorf("expected /ez")
|
||
|
}
|
||
|
if classic.path(kcounter) != "/c" {
|
||
|
t.Errorf("expected /c")
|
||
|
}
|
||
|
if classic.path(kvalue) != "/v" {
|
||
|
t.Errorf("expected /v")
|
||
|
}
|
||
|
|
||
|
x := newEZStatCount("abc", "pc@pc.com", 1)
|
||
|
if x.path() != "/ez" {
|
||
|
t.Errorf("expected /ez")
|
||
|
}
|
||
|
y := newEZStatValue("abc", "pc@pc.com", 3.14159)
|
||
|
if y.path() != "/ez" {
|
||
|
t.Errorf("expected /ez")
|
||
|
}
|
||
|
a := newClassicStatCount("statkey", "userkey", 1)
|
||
|
if a.path() != "/c" {
|
||
|
t.Errorf("expected /c")
|
||
|
}
|
||
|
b := newClassicStatValue("statkey", "userkey", 2.28)
|
||
|
if b.path() != "/v" {
|
||
|
t.Errorf("expected /v")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestPosts(t *testing.T) {
|
||
|
setTesting()
|
||
|
PostCountOne("statkey", "userkey")
|
||
|
p := <-testPostChannel
|
||
|
if p.url != "https://api.stathat.com/c" {
|
||
|
t.Errorf("expected classic count url")
|
||
|
}
|
||
|
if p.values.Get("key") != "statkey" {
|
||
|
t.Errorf("expected statkey")
|
||
|
}
|
||
|
if p.values.Get("ukey") != "userkey" {
|
||
|
t.Errorf("expected userkey")
|
||
|
}
|
||
|
if p.values.Get("count") != "1" {
|
||
|
t.Errorf("expected count of 1")
|
||
|
}
|
||
|
|
||
|
PostCount("statkey", "userkey", 13)
|
||
|
p = <-testPostChannel
|
||
|
if p.url != "https://api.stathat.com/c" {
|
||
|
t.Errorf("expected classic count url")
|
||
|
}
|
||
|
if p.values.Get("key") != "statkey" {
|
||
|
t.Errorf("expected statkey")
|
||
|
}
|
||
|
if p.values.Get("ukey") != "userkey" {
|
||
|
t.Errorf("expected userkey")
|
||
|
}
|
||
|
if p.values.Get("count") != "13" {
|
||
|
t.Errorf("expected count of 13")
|
||
|
}
|
||
|
|
||
|
PostValue("statkey", "userkey", 9.312)
|
||
|
p = <-testPostChannel
|
||
|
if p.url != "https://api.stathat.com/v" {
|
||
|
t.Errorf("expected classic value url")
|
||
|
}
|
||
|
if p.values.Get("key") != "statkey" {
|
||
|
t.Errorf("expected statkey")
|
||
|
}
|
||
|
if p.values.Get("ukey") != "userkey" {
|
||
|
t.Errorf("expected userkey")
|
||
|
}
|
||
|
if p.values.Get("value") != "9.312" {
|
||
|
t.Errorf("expected value of 9.312")
|
||
|
}
|
||
|
|
||
|
PostEZCountOne("a stat", "pc@pc.com")
|
||
|
p = <-testPostChannel
|
||
|
if p.url != "https://api.stathat.com/ez" {
|
||
|
t.Errorf("expected ez url")
|
||
|
}
|
||
|
if p.values.Get("stat") != "a stat" {
|
||
|
t.Errorf("expected a stat")
|
||
|
}
|
||
|
if p.values.Get("ezkey") != "pc@pc.com" {
|
||
|
t.Errorf("expected pc@pc.com")
|
||
|
}
|
||
|
if p.values.Get("count") != "1" {
|
||
|
t.Errorf("expected count of 1")
|
||
|
}
|
||
|
|
||
|
PostEZCount("a stat", "pc@pc.com", 213)
|
||
|
p = <-testPostChannel
|
||
|
if p.url != "https://api.stathat.com/ez" {
|
||
|
t.Errorf("expected ez url")
|
||
|
}
|
||
|
if p.values.Get("stat") != "a stat" {
|
||
|
t.Errorf("expected a stat")
|
||
|
}
|
||
|
if p.values.Get("ezkey") != "pc@pc.com" {
|
||
|
t.Errorf("expected pc@pc.com")
|
||
|
}
|
||
|
if p.values.Get("count") != "213" {
|
||
|
t.Errorf("expected count of 213")
|
||
|
}
|
||
|
|
||
|
PostEZValue("a stat", "pc@pc.com", 2.13)
|
||
|
p = <-testPostChannel
|
||
|
if p.url != "https://api.stathat.com/ez" {
|
||
|
t.Errorf("expected ez url")
|
||
|
}
|
||
|
if p.values.Get("stat") != "a stat" {
|
||
|
t.Errorf("expected a stat")
|
||
|
}
|
||
|
if p.values.Get("ezkey") != "pc@pc.com" {
|
||
|
t.Errorf("expected pc@pc.com")
|
||
|
}
|
||
|
if p.values.Get("value") != "2.13" {
|
||
|
t.Errorf("expected value of 2.13")
|
||
|
}
|
||
|
|
||
|
PostCountTime("statkey", "userkey", 13, 100000)
|
||
|
p = <-testPostChannel
|
||
|
if p.values.Get("t") != "100000" {
|
||
|
t.Errorf("expected t value of 100000, got %s", p.values.Get("t"))
|
||
|
}
|
||
|
|
||
|
PostValueTime("statkey", "userkey", 9.312, 200000)
|
||
|
p = <-testPostChannel
|
||
|
if p.values.Get("t") != "200000" {
|
||
|
t.Errorf("expected t value of 200000, got %s", p.values.Get("t"))
|
||
|
}
|
||
|
|
||
|
PostEZCountTime("a stat", "pc@pc.com", 213, 300000)
|
||
|
p = <-testPostChannel
|
||
|
if p.values.Get("t") != "300000" {
|
||
|
t.Errorf("expected t value of 300000, got %s", p.values.Get("t"))
|
||
|
}
|
||
|
|
||
|
PostEZValueTime("a stat", "pc@pc.com", 2.13, 400000)
|
||
|
p = <-testPostChannel
|
||
|
if p.values.Get("t") != "400000" {
|
||
|
t.Errorf("expected t value of 400000, got %s", p.values.Get("t"))
|
||
|
}
|
||
|
}
|