From f8be31d2697e71d60c5a4bddc4f39aa58a506a0d Mon Sep 17 00:00:00 2001
From: moneromooo-monero <moneromooo-monero@users.noreply.github.com>
Date: Mon, 25 Mar 2019 13:02:50 +0000
Subject: [PATCH] functional_tests: add wallet creation language tests

---
 tests/functional_tests/wallet_address.py | 21 +++++++++++++++++++++
 utils/python-rpc/framework/wallet.py     | 18 ++++++++++++++----
 2 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/tests/functional_tests/wallet_address.py b/tests/functional_tests/wallet_address.py
index 4b2010019..cb9c52e7a 100755
--- a/tests/functional_tests/wallet_address.py
+++ b/tests/functional_tests/wallet_address.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+#encoding=utf-8
 
 # Copyright (c) 2019 The Monero Project
 # 
@@ -46,6 +47,7 @@ class WalletAddressTest():
       self.check_keys()
       self.create_subaddresses()
       self.open_close()
+      self.languages()
 
     def create(self):
         print 'Creating wallet'
@@ -176,6 +178,25 @@ class WalletAddressTest():
         res = wallet.get_address()
         assert res.address == '42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm'
 
+    def languages(self):
+        print('Testing languages')
+        wallet = Wallet()
+        res = wallet.get_languages()
+        assert 'English' in res.languages
+        assert 'English' in res.languages_local
+        assert 'Dutch' in res.languages
+        assert 'Nederlands' in res.languages_local
+        assert 'Japanese' in res.languages
+        assert u'日本語' in res.languages_local
+        try: wallet.close_wallet()
+        except: pass
+        languages = res.languages
+        for language in languages:
+            print 'Creating ' + str(language) + ' wallet'
+            wallet.create_wallet(filename = '', language = language)
+            res = wallet.query_key('mnemonic')
+            wallet.close_wallet()
+
 
 if __name__ == '__main__':
     WalletAddressTest().run_test()
diff --git a/utils/python-rpc/framework/wallet.py b/utils/python-rpc/framework/wallet.py
index e09778c80..bcf908291 100644
--- a/utils/python-rpc/framework/wallet.py
+++ b/utils/python-rpc/framework/wallet.py
@@ -125,13 +125,13 @@ class Wallet(object):
         }
         return self.rpc.send_json_rpc_request(describe_transfer)
 
-    def create_wallet(self, index=''):
+    def create_wallet(self, filename='', password = '', language = 'English'):
         create_wallet = {
             'method': 'create_wallet',
             'params': {
-                'filename': 'testWallet' + index,
-                'password' : '',
-                'language' : 'English'
+                'filename': filename,
+                'password': password,
+                'language': language
             },
             'jsonrpc': '2.0', 
             'id': '0'
@@ -623,6 +623,16 @@ class Wallet(object):
         }
         return self.rpc.send_json_rpc_request(relay_tx)
 
+    def get_languages(self):
+        get_languages = {
+            'method': 'get_languages',
+            'params': {
+            },
+            'jsonrpc': '2.0', 
+            'id': '0'
+        }
+        return self.rpc.send_json_rpc_request(get_languages)
+
     def get_version(self):
         get_version = {
             'method': 'get_version',