commit baf4ef8eec67a9137694c3b20dbf3fcf68f346c7
parent bd6fbe8b9c77be9c33a4951a270f2a6020625018
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Mon, 11 Jul 2022 20:02:55 +0200
test qr page
Diffstat:
2 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/cmd/taldir-server/main_test.go b/cmd/taldir-server/main_test.go
@@ -115,6 +115,40 @@ func TestRegisterRequest(s *testing.T) {
}
}
+func TestRegisterQRPageRequest(s *testing.T) {
+ t.ClearDatabase()
+
+ req, _ := http.NewRequest("POST", "/register/test", bytes.NewBuffer(validRegisterRequest))
+ response := executeRequest(req)
+
+ if http.StatusAccepted != response.Code {
+ s.Errorf("Expected response code %d. Got %d\n", http.StatusAccepted, response.Code)
+ }
+ req, _ = http.NewRequest("GET", "/register/NonSenseAddr/NonSenseCode", nil)
+ response = executeRequest(req)
+ if http.StatusNotFound != response.Code {
+ s.Errorf("Expected response code %d. Got %d\n", http.StatusNotFound, response.Code)
+ }
+
+ file, err := os.Open("validation_code")
+ if err != nil {
+ s.Errorf("No validation code file found!\n")
+ }
+ code, err := ioutil.ReadAll(file)
+ if err != nil {
+ s.Errorf("Error reading validation code file contents!\n")
+ }
+ log.Printf("Got code: %s\n", code)
+ h_addr := getHAddress("abc@test")
+ trimCode := strings.Trim(string(code), " \r\n")
+ req, _ = http.NewRequest("GET", "/register/" + h_addr + "/" + trimCode, nil)
+ response = executeRequest(req)
+ if http.StatusOK != response.Code {
+ s.Errorf("Expected response code %d. Got %d\n", http.StatusOK, response.Code)
+ }
+}
+
+
func TestReRegisterRequest(s *testing.T) {
t.ClearDatabase()
diff --git a/pkg/rest/taldir.go b/pkg/rest/taldir.go
@@ -496,12 +496,7 @@ func (t *Taldir) validationPage(w http.ResponseWriter, r *http.Request) {
var png []byte
var validation Validation
- // Setup validation object. Retrieve object from DB if it already
- // exists.
- h := sha512.New()
- h.Write([]byte(vars["h_address"]))
- h_address := util.EncodeBinaryToString(h.Sum(nil))
- err := t.Db.First(&validation, "h_address = ?", h_address).Error
+ err := t.Db.First(&validation, "h_address = ?", vars["h_address"]).Error
w.Header().Set("Content-Type", "text/html; charset=utf-8")
if err != nil {
// This validation does not exist.