1
0
Fork 0

Add TCP Middlewares support

This commit is contained in:
Romain 2021-06-11 15:30:05 +02:00 committed by GitHub
parent 679def0151
commit fc9f41b955
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
134 changed files with 5865 additions and 1852 deletions

View file

@ -51,3 +51,29 @@ export function getServiceByName ({ commit }, name) {
return Promise.reject(error)
})
}
export function getAllMiddlewares ({ commit }, params) {
commit('getAllMiddlewaresRequest')
return TcpService.getAllMiddlewares(params)
.then(body => {
commit('getAllMiddlewaresSuccess', { body, ...params })
return body
})
.catch(error => {
commit('getAllMiddlewaresFailure', error)
return Promise.reject(error)
})
}
export function getMiddlewareByName ({ commit }, name) {
commit('getMiddlewareByNameRequest')
return TcpService.getMiddlewareByName(name)
.then(body => {
commit('getMiddlewareByNameSuccess', body)
return body
})
.catch(error => {
commit('getMiddlewareByNameFailure', error)
return Promise.reject(error)
})
}

View file

@ -25,3 +25,17 @@ export function allServices (state) {
export function serviceByName (state) {
return state.serviceByName
}
// ----------------------------
// all Middlewares
// ----------------------------
export function allMiddlewares (state) {
return state.allMiddlewares
}
// ----------------------------
// Middleware by Name
// ----------------------------
export function middlewareByName (state) {
return state.middlewareByName
}

View file

@ -103,3 +103,55 @@ export function getServiceByNameFailure (state, error) {
export function getServiceByNameClear (state) {
state.serviceByName = {}
}
// ----------------------------
// Get All Middlewares
// ----------------------------
export function getAllMiddlewaresRequest (state) {
withPagination('request', { statePath: 'allMiddlewares' })(state)
}
export function getAllMiddlewaresSuccess (state, data) {
const { query = '', status = '' } = data
const currentState = state.allMiddlewares
const isSameContext = currentState.currentQuery === query && currentState.currentStatus === status
state.allMiddlewares = {
...state.allMiddlewares,
currentQuery: query,
currentStatus: status
}
withPagination('success', {
isSameContext,
statePath: 'allMiddlewares'
})(state, data)
}
export function getAllMiddlewaresFailure (state, error) {
withPagination('failure', { statePath: 'allMiddlewares' })(state, error)
}
export function getAllMiddlewaresClear (state) {
state.allMiddlewares = {}
}
// ----------------------------
// Get Middleware By Name
// ----------------------------
export function getMiddlewareByNameRequest (state) {
state.middlewareByName.loading = true
}
export function getMiddlewareByNameSuccess (state, body) {
state.middlewareByName = { item: body, loading: false }
}
export function getMiddlewareByNameFailure (state, error) {
state.middlewareByName = { error }
}
export function getMiddlewareByNameClear (state) {
state.middlewareByName = {}
}

View file

@ -7,7 +7,10 @@ const {
getAllRoutersFailure,
getAllServicesRequest,
getAllServicesSuccess,
getAllServicesFailure
getAllServicesFailure,
getAllMiddlewaresRequest,
getAllMiddlewaresSuccess,
getAllMiddlewaresFailure
} = store.mutations
describe('tcp mutations', function () {
@ -194,4 +197,96 @@ describe('tcp mutations', function () {
expect(state.allServices.items.length).to.equal(3)
})
})
/* Middlewares */
describe('tcp middlewares mutations', function () {
it('getAllMiddlewaresRequest', function () {
const state = {
allMiddlewares: {
items: [{}, {}, {}]
}
}
getAllMiddlewaresRequest(state)
expect(state.allMiddlewares.loading).to.equal(true)
expect(state.allMiddlewares.items.length).to.equal(3)
})
it('getAllMiddlewaresSuccess page 1', function () {
const state = {
allMiddlewares: {
loading: true
}
}
const data = {
body: {
data: [{}, {}, {}],
total: 3
},
query: 'test query',
status: 'warning',
page: 1
}
getAllMiddlewaresSuccess(state, data)
expect(state.allMiddlewares.loading).to.equal(false)
expect(state.allMiddlewares.total).to.equal(3)
expect(state.allMiddlewares.items.length).to.equal(3)
expect(state.allMiddlewares.currentPage).to.equal(1)
expect(state.allMiddlewares.currentQuery).to.equal('test query')
expect(state.allMiddlewares.currentStatus).to.equal('warning')
})
it('getAllMiddlewaresSuccess page 2', function () {
const state = {
allMiddlewares: {
loading: false,
items: [{ id: 1 }, { id: 2 }, { id: 3 }],
total: 3,
currentPage: 1,
currentQuery: 'test query',
currentStatus: 'warning'
}
}
const data = {
body: {
data: [{ id: 4 }, { id: 5 }, { id: 6 }, { id: 7 }],
total: 4
},
query: 'test query',
status: 'warning',
page: 2
}
getAllMiddlewaresSuccess(state, data)
expect(state.allMiddlewares.loading).to.equal(false)
expect(state.allMiddlewares.total).to.equal(7)
expect(state.allMiddlewares.items.length).to.equal(7)
expect(state.allMiddlewares.currentPage).to.equal(2)
expect(state.allMiddlewares.currentQuery).to.equal('test query')
expect(state.allMiddlewares.currentStatus).to.equal('warning')
})
it('getAllMiddlewaresFailing', function () {
const state = {
allMiddlewares: {
items: [{}, {}, {}],
loading: true
}
}
const error = { message: 'invalid request: page: 3, per_page: 10' }
getAllMiddlewaresFailure(state, error)
expect(state.allMiddlewares.loading).to.equal(false)
expect(state.allMiddlewares.endReached).to.equal(true)
expect(state.allMiddlewares.items.length).to.equal(3)
})
})
})

View file

@ -2,5 +2,7 @@ export default {
allRouters: {},
routerByName: {},
allServices: {},
serviceByName: {}
serviceByName: {},
allMiddlewares: {},
middlewareByName: {}
}