gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taldir] branch master updated: fix wrong existing reg detection;


From: gnunet
Subject: [taler-taldir] branch master updated: fix wrong existing reg detection; test reregistrations
Date: Thu, 07 Jul 2022 17:02:24 +0200

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a commit to branch master
in repository taldir.

The following commit(s) were added to refs/heads/master by this push:
     new cb3e901  fix wrong existing reg detection; test reregistrations
cb3e901 is described below

commit cb3e901f691250fa4fbadf9e5edcbe4722c92812
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Thu Jul 7 17:02:21 2022 +0200

    fix wrong existing reg detection; test reregistrations
---
 cmd/taldir-server/main_test.go              | 49 ++++++++++++++++++++++++++++-
 cmd/taldir-server/taldir.go                 |  5 +--
 cmd/taldir-server/testdata/taldir-test.conf |  2 +-
 taldir.conf                                 |  2 +-
 4 files changed, 53 insertions(+), 5 deletions(-)

diff --git a/cmd/taldir-server/main_test.go b/cmd/taldir-server/main_test.go
index a4479f9..027e574 100644
--- a/cmd/taldir-server/main_test.go
+++ b/cmd/taldir-server/main_test.go
@@ -40,10 +40,20 @@ var validRegisterRequest = []byte(`
     "address": "abc@test",
     "public_key": "000G006XE97PTWV3B7AJNCRQZA6BF26HPV3XZ07293FMY7KD4181946A90",
     "inbox_url": "myinbox@xyz",
-    "duration": 23
+    "duration": 23000000
   }
 `)
 
+var validRegisterRequestShort = []byte(`
+  {
+    "address": "abc@test",
+    "public_key": "000G006XE97PTWV3B7AJNCRQZA6BF26HPV3XZ07293FMY7KD4181946A90",
+    "inbox_url": "myinbox@xyz",
+    "duration": 10000000
+  }
+`)
+
+
 func TestMain(m *testing.M) {
   t.Initialize("testdata/taldir-test.conf", true)
   code := m.Run()
@@ -104,6 +114,43 @@ func TestRegisterRequest(s *testing.T) {
   }
 }
 
+func TestReRegisterRequest(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)
+  }
+  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")
+  solution := 
util.GenerateSolution("000G006XE97PTWV3B7AJNCRQZA6BF26HPV3XZ07293FMY7KD4181946A90",
 trimCode)
+  solutionJSON := "{\"solution\": \"" + solution + "\"}"
+  req, _ = http.NewRequest("POST", "/" + h_addr, 
bytes.NewBuffer([]byte(solutionJSON)))
+  response = executeRequest(req)
+  if http.StatusNoContent != response.Code {
+    s.Errorf("Expected response code %d. Got %d\n", http.StatusNoContent, 
response.Code)
+  }
+  req, _ = http.NewRequest("POST", "/register/test", 
bytes.NewBuffer(validRegisterRequestShort))
+  response = executeRequest(req)
+
+  if http.StatusOK != response.Code {
+    s.Errorf("Expected response code %d. Got %d\n", http.StatusOK, 
response.Code)
+  }
+
+}
+
+
 func TestRegisterRequestWrongPubkey(s *testing.T) {
   t.ClearDatabase()
 
diff --git a/cmd/taldir-server/taldir.go b/cmd/taldir-server/taldir.go
index c24a141..0194ae8 100644
--- a/cmd/taldir-server/taldir.go
+++ b/cmd/taldir-server/taldir.go
@@ -352,7 +352,8 @@ func (t *Taldir) registerRequest(w http.ResponseWriter, r 
*http.Request){
   // is still valid and the duration is not extended.
   hs_address := saltHAddress(validation.HAddress, t.Salt)
   err = t.Db.First(&entry, "hs_address = ?", hs_address).Error
-  if err != nil {
+  if err == nil {
+    log.Println("Entry for this address already exists..")
     lastRegValidity := entry.RegisteredAt + entry.Duration
     requestedValidity := time.Now().UnixMicro() + req.Duration
     earliestReRegistration := entry.RegisteredAt + t.RequestFrequency
@@ -623,7 +624,7 @@ func (t *Taldir) Initialize(cfgfile string, clearDb bool) {
   if "" == t.Salt {
     t.Salt = t.Cfg.Section("taldir").Key("salt").MustString("ChangeMe")
   }
-  t.RequestFrequency = 
t.Cfg.Section("taldir").Key("request_frequency").MustInt64(1000)
+  t.RequestFrequency = 
t.Cfg.Section("taldir").Key("request_frequency_microseconds").MustInt64(1000)
   t.setupHandlers()
 }
 
diff --git a/cmd/taldir-server/testdata/taldir-test.conf 
b/cmd/taldir-server/testdata/taldir-test.conf
index 1db6526..3acf619 100644
--- a/cmd/taldir-server/testdata/taldir-test.conf
+++ b/cmd/taldir-server/testdata/taldir-test.conf
@@ -5,7 +5,7 @@ host = "https://taldir.net";
 bind_to = "localhost:11000"
 salt = "ChangeMe"
 monthly_fee = KUDOS:1
-request_frequency = 3
+request_frequency_microseconds = 10
 validation_landing = testdata/templates/validation_landing.html
 
 [taldir-test]
diff --git a/taldir.conf b/taldir.conf
index e3fe00c..a8da76c 100644
--- a/taldir.conf
+++ b/taldir.conf
@@ -5,7 +5,7 @@ host = "https://taldir.net";
 bind_to = "localhost:11000"
 salt = "ChangeMe"
 monthly_fee = KUDOS:1
-request_frequency = 3
+request_frequency_microseconds = 5000000
 default_doc_filetype = text/markdown
 default_doc_lang = en-US
 default_tos_path = terms/

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]