forbid condition_template as parameter name for template
This commit is contained in:
		@@ -5,7 +5,6 @@ import TemplateMeasurementModel from '../models/measurement_template';
 | 
				
			|||||||
import TestHelper from "../test/helper";
 | 
					import TestHelper from "../test/helper";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// TODO: do not allow usage of old templates for new samples
 | 
					// TODO: do not allow usage of old templates for new samples
 | 
				
			||||||
// TODO: template parameters are not allowed to be condition_template
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('/template', () => {
 | 
					describe('/template', () => {
 | 
				
			||||||
  let server;
 | 
					  let server;
 | 
				
			||||||
@@ -218,6 +217,16 @@ describe('/template', () => {
 | 
				
			|||||||
          done();
 | 
					          done();
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					      it('rejects `condition_template` as parameter name', done => {
 | 
				
			||||||
 | 
					        TestHelper.request(server, done, {
 | 
				
			||||||
 | 
					          method: 'put',
 | 
				
			||||||
 | 
					          url: '/template/condition/200000000000000000000001',
 | 
				
			||||||
 | 
					          auth: {basic: 'admin'},
 | 
				
			||||||
 | 
					          httpStatus: 400,
 | 
				
			||||||
 | 
					          req: {parameters: [{name: 'condition_template', range: {}}]},
 | 
				
			||||||
 | 
					          res: {status: 'Invalid body format', details: '"parameters[0].name" contains an invalid value'}
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
      it('rejects not specified parameters', done => {
 | 
					      it('rejects not specified parameters', done => {
 | 
				
			||||||
        TestHelper.request(server, done, {
 | 
					        TestHelper.request(server, done, {
 | 
				
			||||||
          method: 'put',
 | 
					          method: 'put',
 | 
				
			||||||
@@ -227,7 +236,7 @@ describe('/template', () => {
 | 
				
			|||||||
          req: {name: 'heat treatment', parameters: [{name: 'material', range: {xx: 5}}]},
 | 
					          req: {name: 'heat treatment', parameters: [{name: 'material', range: {xx: 5}}]},
 | 
				
			||||||
          res: {status: 'Invalid body format', details: '"parameters[0].range.xx" is not allowed'}
 | 
					          res: {status: 'Invalid body format', details: '"parameters[0].range.xx" is not allowed'}
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      })
 | 
					      });
 | 
				
			||||||
      it('rejects an invalid id', done => {
 | 
					      it('rejects an invalid id', done => {
 | 
				
			||||||
        TestHelper.request(server, done, {
 | 
					        TestHelper.request(server, done, {
 | 
				
			||||||
          method: 'put',
 | 
					          method: 'put',
 | 
				
			||||||
@@ -327,6 +336,16 @@ describe('/template', () => {
 | 
				
			|||||||
          res: {status: 'Invalid body format', details: '"name" is required'}
 | 
					          res: {status: 'Invalid body format', details: '"name" is required'}
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					      it('rejects `condition_template` as parameter name', done => {
 | 
				
			||||||
 | 
					        TestHelper.request(server, done, {
 | 
				
			||||||
 | 
					          method: 'post',
 | 
				
			||||||
 | 
					          url: '/template/condition/new',
 | 
				
			||||||
 | 
					          auth: {basic: 'admin'},
 | 
				
			||||||
 | 
					          httpStatus: 400,
 | 
				
			||||||
 | 
					          req: {name: 'heat aging', parameters: [{name: 'condition_template', range: {min: 1}}]},
 | 
				
			||||||
 | 
					          res: {status: 'Invalid body format', details: '"parameters[0].name" contains an invalid value'}
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
      it('rejects a number prefix', done => {
 | 
					      it('rejects a number prefix', done => {
 | 
				
			||||||
        TestHelper.request(server, done, {
 | 
					        TestHelper.request(server, done, {
 | 
				
			||||||
          method: 'post',
 | 
					          method: 'post',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,6 @@ import should from 'should/as-function';
 | 
				
			|||||||
import UserModel from '../models/user';
 | 
					import UserModel from '../models/user';
 | 
				
			||||||
import TestHelper from "../test/helper";
 | 
					import TestHelper from "../test/helper";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// TODO: reject usernames containing admin, etc.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('/user', () => {
 | 
					describe('/user', () => {
 | 
				
			||||||
  let server;
 | 
					  let server;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,6 +14,7 @@ export default class TemplateValidate {
 | 
				
			|||||||
        Joi.object({
 | 
					        Joi.object({
 | 
				
			||||||
          name: Joi.string()
 | 
					          name: Joi.string()
 | 
				
			||||||
            .max(128)
 | 
					            .max(128)
 | 
				
			||||||
 | 
					            .invalid('condition_template')
 | 
				
			||||||
            .required(),
 | 
					            .required(),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          range: Joi.object({
 | 
					          range: Joi.object({
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user