Get ParseConfig parameters with Master Key (#5954)
* added saving, retrieving * added tests * fixed typo * added masterKeyOnly to schema controller
This commit is contained in:
committed by
Antonio Davi Macedo Coelho de Castro
parent
422f222204
commit
89e8868a85
@@ -20,10 +20,17 @@ describe('a GlobalConfig', () => {
|
||||
.upsertOneObject(
|
||||
'_GlobalConfig',
|
||||
{
|
||||
fields: { objectId: { type: 'Number' }, params: { type: 'Object' } },
|
||||
fields: {
|
||||
objectId: { type: 'Number' },
|
||||
params: { type: 'Object' },
|
||||
masterKeyOnly: { type: 'Object' },
|
||||
},
|
||||
},
|
||||
query,
|
||||
{ params: { companies: ['US', 'DK'] } }
|
||||
{
|
||||
params: { companies: ['US', 'DK'], internalParam: 'internal' },
|
||||
masterKeyOnly: { internalParam: true },
|
||||
}
|
||||
)
|
||||
.then(done, err => {
|
||||
jfail(err);
|
||||
@@ -54,6 +61,44 @@ describe('a GlobalConfig', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('internal parameter can be retrieved with master key', done => {
|
||||
request({
|
||||
url: 'http://localhost:8378/1/config',
|
||||
json: true,
|
||||
headers,
|
||||
}).then(response => {
|
||||
const body = response.data;
|
||||
try {
|
||||
expect(response.status).toEqual(200);
|
||||
expect(body.params.internalParam).toEqual('internal');
|
||||
} catch (e) {
|
||||
jfail(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('internal parameter cannot be retrieved without master key', done => {
|
||||
request({
|
||||
url: 'http://localhost:8378/1/config',
|
||||
json: true,
|
||||
headers: {
|
||||
'X-Parse-Application-Id': 'test',
|
||||
'X-Parse-REST-API-Key': 'rest',
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
}).then(response => {
|
||||
const body = response.data;
|
||||
try {
|
||||
expect(response.status).toEqual(200);
|
||||
expect(body.params.internalParam).toBeUndefined();
|
||||
} catch (e) {
|
||||
jfail(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('can be updated when a master key exists', done => {
|
||||
request({
|
||||
method: 'PUT',
|
||||
@@ -117,7 +162,13 @@ describe('a GlobalConfig', () => {
|
||||
method: 'PUT',
|
||||
url: 'http://localhost:8378/1/config',
|
||||
json: true,
|
||||
body: { params: { companies: { __op: 'Delete' }, foo: 'bar' } },
|
||||
body: {
|
||||
params: {
|
||||
companies: { __op: 'Delete' },
|
||||
internalParam: { __op: 'Delete' },
|
||||
foo: 'bar',
|
||||
},
|
||||
},
|
||||
headers,
|
||||
}).then(response => {
|
||||
const body = response.data;
|
||||
|
||||
Reference in New Issue
Block a user