From 78d1a1158307dee257fbf1c31553b754385b88a0 Mon Sep 17 00:00:00 2001
From: Renan DelValle <commit@ridv.xyz>
Date: Sat, 4 Jan 2020 17:43:18 -0800
Subject: [PATCH] Add happy path test for cap zone

---
 rapl-daemon/util_test.go | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/rapl-daemon/util_test.go b/rapl-daemon/util_test.go
index 351677c..010493e 100644
--- a/rapl-daemon/util_test.go
+++ b/rapl-daemon/util_test.go
@@ -1,10 +1,11 @@
 package main
 
 import (
-	"fmt"
 	"io/ioutil"
+	"math"
 	"os"
 	"strconv"
+	"strings"
 	"testing"
 
 	"github.com/stretchr/testify/assert"
@@ -29,7 +30,6 @@ func TestMaxPower(t *testing.T) {
 
 	defer os.Remove(tmpfile.Name())
 
-	fmt.Println(tmpfile.Name())
 	_, err = tmpfile.Write([]byte(strconv.FormatUint(maxWattage, 10)))
 	assert.NoError(t, err)
 
@@ -40,3 +40,29 @@ func TestMaxPower(t *testing.T) {
 	err = tmpfile.Close()
 	assert.NoError(t, err)
 }
+
+func TestCapZone(t *testing.T) {
+
+	const maxPower float64 = 1500000
+	const percentage float64 = .50
+
+	tmpfile, err := ioutil.TempFile("", powerLimitFileShortWindow)
+	assert.NoError(t, err)
+
+	defer os.Remove(tmpfile.Name())
+
+	powercap := uint64(math.Ceil(maxPower * percentage))
+
+	err = capZone(tmpfile.Name(), powercap)
+	assert.NoError(t, err)
+
+	newCapBytes, err := ioutil.ReadFile(tmpfile.Name())
+	assert.NoError(t, err)
+
+	newCap, err := strconv.ParseUint(strings.TrimSpace(string(newCapBytes)), 10, 64)
+	assert.NoError(t, err)
+	assert.Equal(t, powercap, newCap)
+
+	err = tmpfile.Close()
+	assert.NoError(t, err)
+}