summaryrefslogtreecommitdiff
path: root/cleaner_test.go
diff options
context:
space:
mode:
authorDaniel Langesten <daniel.langest@gmail.com>2015-03-12 11:04:02 +0100
committerDaniel Langesten <daniel.langest@gmail.com>2015-03-12 11:04:02 +0100
commit5a1a9adba51f858c45b6cba7e7a8c174d8cda481 (patch)
tree87e3f9680aae1f0cf1f208041f159d10f4d66828 /cleaner_test.go
parent01f6b8dea6892010060c4b27d3b068dd3db080e3 (diff)
renamed tests and wrote a test for the whole program
Diffstat (limited to 'cleaner_test.go')
-rw-r--r--cleaner_test.go84
1 files changed, 84 insertions, 0 deletions
diff --git a/cleaner_test.go b/cleaner_test.go
new file mode 100644
index 0000000..d1eb870
--- /dev/null
+++ b/cleaner_test.go
@@ -0,0 +1,84 @@
+package main
+
+import (
+ "database/sql"
+ _ "github.com/go-sql-driver/mysql"
+ "testing"
+ "time"
+)
+
+func TestDataFetching(t *testing.T) {
+ //initialize db
+ db, err := sql.Open("mysql", "test:test@/test")
+ if err != nil {
+ t.Fatal("Failed to connect to db")
+ return
+ }
+ defer db.Close()
+
+ //fetch the data from the db
+ rDat, err := fetchRawData(db, time.Now())
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if len(rDat) != 5 {
+ t.Fatal("Fetched the wrong number of rows:", len(rDat))
+ }
+ if rDat[2].ipSrc != "8.8.8.8" {
+ t.Fatal("contents of ip in data is incorrect")
+ }
+ //TODO add more tests
+}
+
+func TestCleaning(t *testing.T) {
+ conf := Config{
+ Volumes: []VolumeInfo{
+ VolumeInfo{
+ Size: "small",
+ Lower: 0,
+ Upper: 100,
+ },
+ VolumeInfo{
+ Size: "medium",
+ Lower: 100,
+ Upper: 0,
+ },
+ },
+ Interval: "10min",
+ Epsilon: 0,
+ }
+
+ err := cleanData(conf, "test", "test", "", "test")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ db, err := sql.Open("mysql", "test:test@/test")
+ if err != nil {
+ t.Fatal("Failed to connect to db")
+ return
+ }
+ defer db.Close()
+
+ rDat, err := fetchRawData(db, time.Now())
+ if err != nil {
+ t.Fatal(err)
+ }
+ if len(rDat) > 0 {
+ t.Fatal()
+ }
+ rows, err := db.Query("SELECT * FROM clean_data;")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ counter := 0
+ for rows.Next() {
+ counter++
+ }
+ if counter != 3 {
+ t.Fatal("Wrong number of cleaned rows")
+ }
+
+}