-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #283 from namecheap/feature/supportFewDomains_500
feat: support a few domains (500)
- Loading branch information
Showing
23 changed files
with
628 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
Feature('500 error handling'); | ||
|
||
//region 500 page | ||
Scenario('Renders 500 page for domain "localhost:8233" (default)', (I, common: common) => { | ||
I.amOnPage(common.url.urlInternalServerError); | ||
I.seeInSource(common.textError500); | ||
I.seeInSource(common.textErrorId); | ||
I.dontSeeInSource(common.textError500ForLocalhostAsIPv4); | ||
I.seeInCurrentUrl(common.url.urlInternalServerError); | ||
}); | ||
Scenario('should open 500 error page when an error happens for domain "localhost:8233" (default)', async (I, newsPage: newsPage, common: common) => { | ||
I.amOnPage(newsPage.url.main); | ||
I.waitInUrl(newsPage.url.main, 10); | ||
I.waitForElement(newsPage.generateError, 10); | ||
I.click(newsPage.generateError); | ||
I.seeInSource(common.textError500); | ||
I.seeInSource(common.textErrorId); | ||
I.dontSeeInSource(common.textError500ForLocalhostAsIPv4); | ||
I.seeInCurrentUrl(newsPage.url.main); | ||
}); | ||
|
||
Scenario('Renders 500 page for domain "127.0.0.1:8233"', (I, common: common) => { | ||
I.amOnPage(common.url.localhostAsIPv4 + common.url.urlInternalServerError); | ||
I.seeInSource(common.textError500ForLocalhostAsIPv4); | ||
I.seeInSource(common.textErrorId); | ||
I.dontSeeInSource(common.textError500); | ||
I.seeInCurrentUrl(common.url.localhostAsIPv4 + common.url.urlInternalServerError); | ||
}); | ||
Scenario('should open 500 error page when an error happens for domain "127.0.0.1:8233"', async (I, newsPage: newsPage, common: common) => { | ||
I.amOnPage(common.url.localhostAsIPv4 + newsPage.url.main); | ||
I.waitInUrl(newsPage.url.main, 10); | ||
I.waitForElement(newsPage.generateError, 10); | ||
I.click(newsPage.generateError); | ||
I.seeInSource(common.textError500ForLocalhostAsIPv4); | ||
I.seeInSource(common.textErrorId); | ||
I.dontSeeInSource(common.textError500); | ||
I.seeInCurrentUrl(common.url.localhostAsIPv4 + newsPage.url.main); | ||
}); | ||
//endregion 500 page |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
export const url = { | ||
urlInternalServerError: '/_ilc/500', | ||
localhostAsIPv4: 'http://127.0.0.1:8233', | ||
}; | ||
|
||
export const textError500 = '<h3>ERROR 500</h3>'; | ||
export const textError500ForLocalhostAsIPv4 = '<h3>500 Internal Server Error on 127.0.0.1</h3>'; | ||
export const textErrorId = 'Error ID:'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,24 @@ | ||
import Joi from 'joi'; | ||
import { templateNameSchema } from '../../templates/interfaces'; | ||
|
||
export default interface RouterDomains { | ||
id: number, | ||
domainName: string, | ||
template500?: string, | ||
}; | ||
|
||
export const routerDomainIdSchema = Joi.string().trim().required(); | ||
|
||
const routerDomainNameSchema = Joi.string().trim().min(1); | ||
const commonRouterDomainsSchema = { | ||
domainName: Joi.string().trim().min(1), | ||
template500: templateNameSchema.allow(null), | ||
}; | ||
|
||
export const partialRouterDomainsSchema = Joi.object({ | ||
domainName: routerDomainNameSchema, | ||
...commonRouterDomainsSchema, | ||
}); | ||
|
||
export const routerDomainsSchema = Joi.object({ | ||
domainName: routerDomainNameSchema.required(), | ||
...commonRouterDomainsSchema, | ||
domainName: commonRouterDomainsSchema.domainName.required(), | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,19 @@ | ||
import express from 'express'; | ||
import express, { RequestHandler } from 'express'; | ||
|
||
import getRouterDomains from './getRouterDomains'; | ||
import getAllRouterDomains from './getAllRouterDomains'; | ||
import updateRouterDomains from './updateRouterDomains'; | ||
import createRouterDomains from './createRouterDomains'; | ||
import deleteRouterDomains from './deleteRouterDomains'; | ||
|
||
const routerDomainsRouter = express.Router(); | ||
export default (authMw: RequestHandler) => { | ||
const routerDomainsRouter = express.Router(); | ||
|
||
routerDomainsRouter.get('/', ...getAllRouterDomains); | ||
routerDomainsRouter.post('/', ...createRouterDomains); | ||
routerDomainsRouter.get('/:id', ...getRouterDomains); | ||
routerDomainsRouter.put('/:id', ...updateRouterDomains); | ||
routerDomainsRouter.delete('/:id', ...deleteRouterDomains); | ||
routerDomainsRouter.get('/', ...getAllRouterDomains); | ||
routerDomainsRouter.post('/', authMw, ...createRouterDomains); | ||
routerDomainsRouter.get('/:id', authMw, ...getRouterDomains); | ||
routerDomainsRouter.put('/:id', authMw, ...updateRouterDomains); | ||
routerDomainsRouter.delete('/:id', authMw, ...deleteRouterDomains); | ||
|
||
export default routerDomainsRouter; | ||
return routerDomainsRouter; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import * as Knex from 'knex'; | ||
|
||
export async function seed(knex: Knex): Promise<any> { | ||
return knex("router_domains").insert([ | ||
{ | ||
id: 1, | ||
domainName: '127.0.0.1:8233', | ||
template500: '500ForLocalhostAsIPv4', | ||
}, | ||
]); | ||
} |
Oops, something went wrong.