|
9 | 9 |
|
10 | 10 | var request = require('request');
|
11 | 11 | var passwordCrypto = require('../src/password');
|
| 12 | +var Config = require('../src/Config'); |
12 | 13 |
|
13 | 14 | function verifyACL(user) {
|
14 | 15 | const ACL = user.getACL();
|
@@ -1780,5 +1781,41 @@ describe('Parse.User testing', () => {
|
1780 | 1781 | }
|
1781 | 1782 | });
|
1782 | 1783 | });
|
| 1784 | + |
| 1785 | + // Sometimes the authData still has null on that keys |
| 1786 | + // https://github.com/ParsePlatform/parse-server/issues/935 |
| 1787 | + it('should cleanup null authData keys', (done) => { |
| 1788 | + let database = new Config(Parse.applicationId).database; |
| 1789 | + database.create('_User', { |
| 1790 | + username: 'user', |
| 1791 | + password: '$2a$10$8/wZJyEuiEaobBBqzTG.jeY.XSFJd0rzaN//ososvEI4yLqI.4aie', |
| 1792 | + _auth_data_facebook: null |
| 1793 | + }, {}).then(() => { |
| 1794 | + return new Promise((resolve, reject) => { |
| 1795 | + request.get({ |
| 1796 | + url: 'http://localhost:8378/1/login?username=user&password=test', |
| 1797 | + headers: { |
| 1798 | + 'X-Parse-Application-Id': 'test', |
| 1799 | + 'X-Parse-Master-Key': 'test', |
| 1800 | + }, |
| 1801 | + json: true |
| 1802 | + }, (err, res, body) => { |
| 1803 | + if (err) { |
| 1804 | + reject(err); |
| 1805 | + } else { |
| 1806 | + resolve(body); |
| 1807 | + } |
| 1808 | + }) |
| 1809 | + }) |
| 1810 | + }).then((user) => { |
| 1811 | + let authData = user.authData; |
| 1812 | + expect(user.username).toEqual('user'); |
| 1813 | + expect(authData).toBeUndefined(); |
| 1814 | + done(); |
| 1815 | + }).catch((err) => { |
| 1816 | + fail('this should not fail'); |
| 1817 | + done(); |
| 1818 | + }) |
| 1819 | + }); |
1783 | 1820 | });
|
1784 | 1821 |
|
0 commit comments