TestUser.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import pytest
  2. from Crypt import CryptBitcoin
  3. @pytest.mark.usefixtures("resetSettings")
  4. class TestUser:
  5. def testAddress(self, user):
  6. assert user.master_address == "15E5rhcAUD69WbiYsYARh4YHJ4sLm2JEyc"
  7. address_index = 1458664252141532163166741013621928587528255888800826689784628722366466547364755811L
  8. assert user.getAddressAuthIndex("15E5rhcAUD69WbiYsYARh4YHJ4sLm2JEyc") == address_index
  9. # Re-generate privatekey based on address_index
  10. def testNewSite(self, user):
  11. address, address_index, site_data = user.getNewSiteData() # Create a new random site
  12. assert CryptBitcoin.hdPrivatekey(user.master_seed, address_index) == site_data["privatekey"]
  13. user.sites = {} # Reset user data
  14. # Site address and auth address is different
  15. assert user.getSiteData(address)["auth_address"] != address
  16. # Re-generate auth_privatekey for site
  17. assert user.getSiteData(address)["auth_privatekey"] == site_data["auth_privatekey"]
  18. def testAuthAddress(self, user):
  19. # Auth address without Cert
  20. auth_address = user.getAuthAddress("1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr")
  21. assert auth_address == "1MyJgYQjeEkR9QD66nkfJc9zqi9uUy5Lr2"
  22. auth_privatekey = user.getAuthPrivatekey("1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr")
  23. assert CryptBitcoin.privatekeyToAddress(auth_privatekey) == auth_address
  24. def testCert(self, user):
  25. cert_auth_address = user.getAuthAddress("1iD5ZQJMNXu43w1qLB8sfdHVKppVMduGz") # Add site to user's registry
  26. # Add cert
  27. user.addCert(cert_auth_address, "zeroid.bit", "faketype", "fakeuser", "fakesign")
  28. user.setCert("1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr", "zeroid.bit")
  29. # By using certificate the auth address should be same as the certificate provider
  30. assert user.getAuthAddress("1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr") == cert_auth_address
  31. auth_privatekey = user.getAuthPrivatekey("1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr")
  32. assert CryptBitcoin.privatekeyToAddress(auth_privatekey) == cert_auth_address
  33. # Test delete site data
  34. assert "1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr" in user.sites
  35. user.deleteSiteData("1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr")
  36. assert "1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr" not in user.sites
  37. # Re-create add site should generate normal, unique auth_address
  38. assert not user.getAuthAddress("1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr") == cert_auth_address
  39. assert user.getAuthAddress("1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr") == "1MyJgYQjeEkR9QD66nkfJc9zqi9uUy5Lr2"