Skip to content
Snippets Groups Projects
Unverified Commit faf1b7f7 authored by Martin Weise's avatar Martin Weise
Browse files

Hotfix

- Creation of user not possible
parent b06e72a3
No related branches found
No related tags found
4 merge requests!231CI: Remove build for log-service,!228Better error message handling in the frontend,!223Release of version 1.4.0,!194Hotfix
......@@ -12,6 +12,7 @@ METADATA_PASSWORD=dbrepo
AUTH_DB=keycloak
AUTH_USERNAME=root
AUTH_PASSWORD=dbrepo
BROKER_ENDPOINT=http://broker-service:15672/api/broker
BROKER_USERNAME=fda
BROKER_PASSWORD=fda
KEYCLOAK_ADMIN=fda
......
......@@ -163,6 +163,8 @@ coverage-frontend: build-frontend
test-frontend: build-frontend
yarn --cwd ./dbrepo-ui install
yarn --cwd ./dbrepo-ui run test:unit || true
yarn --cwd ./dbrepo-ui playwright install
yarn --cwd ./dbrepo-ui run test:e2e || true
yarn --cwd ./dbrepo-ui run coverage || true
test-clients:
......
......@@ -13,5 +13,3 @@ RUN rabbitmq-plugins enable --offline rabbitmq_prometheus rabbitmq_mqtt rabbitmq
EXPOSE 5672
EXPOSE 15672
HEALTHCHECK --interval=10s --timeout=5s --retries=12 CMD wget --spider http://localhost:15672/broker/
......@@ -11,7 +11,7 @@ default_permissions.write = .*
listeners.tcp.1 = 0.0.0.0:5672
# management ui (https://www.rabbitmq.com/management.html#path-prefix)
management.path_prefix = /broker
management.path_prefix = /api/broker
# logging
log.console = true
......
......@@ -36,7 +36,7 @@ ENV ADMIN_MAIL="noreply@localhost"
ENV BASE_URL="http://localhost"
ENV GRANT_PRIVILEGES="SELECT, CREATE, CREATE VIEW, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, INDEX, TRIGGER, INSERT, UPDATE, DELETE"
ENV BROKER_CONSUMERS=2
ENV BROKER_ENDPOINT="http://broker-service:15672"
ENV BROKER_ENDPOINT="http://broker-service:15672/api/broker"
ENV BROKER_USERNAME=fda
ENV BROKER_PASSWORD=fda
ENV DELETED_RECORD=persistent
......
......@@ -47,16 +47,12 @@ public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
this.gatewayConfig = gatewayConfig;
}
private String parseUrl(String path) {
final String url = "/api" + path;
log.debug("parse url: {}", url);
return url;
}
@Override
public void createVirtualHost(CreateVirtualHostDto data) throws BrokerVirtualHostCreationException {
final ResponseEntity<Void> response = restTemplate.exchange(parseUrl("/vhost"), HttpMethod.POST,
new HttpEntity<>(data), Void.class);
final String url = "/api/vhost";
log.trace("POST {}{}", gatewayConfig.getBrokerEndpoint(), url);
final ResponseEntity<Void> response = restTemplate.exchange(url, HttpMethod.POST, new HttpEntity<>(data),
Void.class);
if (!response.getStatusCode().equals(HttpStatus.CREATED)) {
log.error("Failed to create virtual host: {}", response.getStatusCode());
throw new BrokerVirtualHostCreationException("Failed to create virtual host");
......@@ -67,8 +63,10 @@ public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
@Override
public void grantPermission(String username, ExchangeUpdatePermissionsDto data)
throws BrokerVirtualHostGrantException {
final ResponseEntity<Void> response = restTemplate.exchange(parseUrl("/topic-permissions/dbrepo/" + username), HttpMethod.PUT,
new HttpEntity<>(data), Void.class);
final String url = "/api/topic-permissions/dbrepo/" + username;
log.trace("PUT {}{}", gatewayConfig.getBrokerEndpoint(), url);
final ResponseEntity<Void> response = restTemplate.exchange(url, HttpMethod.PUT, new HttpEntity<>(data),
Void.class);
if (!response.getStatusCode().equals(HttpStatus.CREATED) && !response.getStatusCode().equals(HttpStatus.NO_CONTENT)) {
log.error("Failed to grant exchange: {}", response.getStatusCode());
throw new BrokerVirtualHostGrantException("Failed to grant exchange");
......@@ -82,8 +80,10 @@ public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
.passwordHash("")
.tags("")
.build();
final ResponseEntity<Void> response = restTemplate.exchange(parseUrl("/users/" + username), HttpMethod.PUT,
new HttpEntity<>(data), Void.class);
final String url = "/api/users/" + username;
log.trace("PUT {}{}", gatewayConfig.getBrokerEndpoint(), url);
final ResponseEntity<Void> response = restTemplate.exchange(url, HttpMethod.PUT, new HttpEntity<>(data),
Void.class);
if (!response.getStatusCode().equals(HttpStatus.CREATED) && !response.getStatusCode().equals(HttpStatus.NO_CONTENT)) {
log.error("Failed to create user: {}", response.getStatusCode());
throw new BrokerVirtualHostCreationException("Failed to create user");
......@@ -94,8 +94,10 @@ public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
@Override
public void grantPermission(String username, GrantVirtualHostPermissionsDto data)
throws BrokerVirtualHostGrantException {
final ResponseEntity<Void> response = restTemplate.exchange(parseUrl("/permissions/dbrepo/" + username), HttpMethod.PUT,
new HttpEntity<>(data), Void.class);
final String url = "/api/permissions/dbrepo/" + username;
log.trace("PUT {}{}", gatewayConfig.getBrokerEndpoint(), url);
final ResponseEntity<Void> response = restTemplate.exchange(url, HttpMethod.PUT, new HttpEntity<>(data),
Void.class);
if (!response.getStatusCode().equals(HttpStatus.CREATED) && !response.getStatusCode().equals(HttpStatus.NO_CONTENT)) {
log.error("Failed to grant virtual host: {}", response.getStatusCode());
throw new BrokerVirtualHostGrantException("Failed to grant virtual host");
......@@ -105,16 +107,10 @@ public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
@Override
public List<ConsumerDto> findAllConsumers() {
final StringBuilder urlBuilder = new StringBuilder(gatewayConfig.getBrokerEndpoint())
.append("/api");
if (Arrays.stream(environment.getActiveProfiles()).noneMatch(p -> p.equals("junit"))) {
urlBuilder.append("/broker");
}
urlBuilder.append("/consumers/")
.append(VIRTUAL_SERVER);
final String url = "/api/consumers/" + VIRTUAL_SERVER;
log.trace("gateway broker find all consumers, virtual server={}", VIRTUAL_SERVER);
final URI findUri = URI.create(urlBuilder.toString());
final ResponseEntity<List<ConsumerDto>> response = restTemplate.exchange(findUri, HttpMethod.GET,
log.trace("GET {}{}", gatewayConfig.getBrokerEndpoint(), url);
final ResponseEntity<List<ConsumerDto>> response = restTemplate.exchange(URI.create(url), HttpMethod.GET,
HttpEntity.EMPTY, new ParameterizedTypeReference<>() {
});
return response.getBody();
......
const config = {}
config.title = process.env.TITLE || null
config.icon = process.env.ICON || null
config.brokerUsername = process.env.BROKER_USERNAME || null
config.brokerPassword = process.env.BROKER_PASSWORD || null
config.brokerLoginUrl = process.env.BROKER_LOGIN_URL || null
config.keycloakLoginUrl = process.env.KEYCLOAK_LOGIN_URL || null
config.sharedFilesystem = process.env.SHARED_FILESYSTEM || null
config.version = process.env.VERSION || null
config.logo = process.env.LOGO || null
config.tokenMax = process.env.TOKEN_MAX || null
config.searchUsername = process.env.SEARCH_USERNAME || null
config.searchPassword = process.env.SEARCH_PASSWORD || null
config.clientId = process.env.DBREPO_CLIENT_ID || null
config.clientSecret = process.env.DBREPO_CLIENT_SECRET || null
config.defaultPublisher = process.env.DEFAULT_PID_PUBLISHER || null
config.doiUrl = process.env.DOI_URL || null
config.uploadPath = process.env.UPLOAD_PATH || null
config.title = process.env.TITLE || 'Database Repository'
config.icon = process.env.ICON || '/favicon.ico'
config.brokerUsername = process.env.BROKER_USERNAME || 'fda'
config.brokerPassword = process.env.BROKER_PASSWORD || 'fda'
config.brokerLoginUrl = process.env.BROKER_LOGIN_URL || '/broker/'
config.keycloakLoginUrl = process.env.KEYCLOAK_LOGIN_URL || '/api/auth/'
config.sharedFilesystem = process.env.SHARED_FILESYSTEM || '/tmp'
config.version = process.env.VERSION || 'latest'
config.logo = process.env.LOGO || '/logo.png'
config.tokenMax = process.env.TOKEN_MAX || 5
config.searchUsername = process.env.SEARCH_USERNAME || 'admin'
config.searchPassword = process.env.SEARCH_PASSWORD || 'admin'
config.clientId = process.env.DBREPO_CLIENT_ID || 'dbrepo-client'
config.clientSecret = process.env.DBREPO_CLIENT_SECRET || 'MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG'
config.defaultPublisher = process.env.DEFAULT_PID_PUBLISHER || 'Example University'
config.doiUrl = process.env.DOI_URL || 'https://doi.org'
config.uploadPath = process.env.UPLOAD_PATH || '/tmp/'
module.exports = config
......@@ -3,7 +3,7 @@
"version": "1.0.0",
"private": true,
"scripts": {
"dev": "NODE_ENV=development nuxt --port 3001",
"dev": "NODE_ENV=development nuxt --dotenv ../.env --port 3001",
"docker": "nuxt > /dev/null",
"build": "nuxt build",
"start": "nuxt start",
......
......@@ -51,19 +51,12 @@
Login
</v-btn>
</v-card-actions>
<v-card-subtitle class="text-right">
<a v-if="rabbitMqUrl" color="orange" class="mr-1" plain :href="rabbitMqUrl">RabbitMQ Admin</a>
<a v-if="keycloakUrl" color="secondary" class="ml-1" plain :href="keycloakUrl">Keycloak Admin</a>
</v-card-subtitle>
</v-card>
</v-form>
<v-toolbar v-if="!token" flat>
<v-spacer />
<v-toolbar-title>
<v-btn v-if="rabbitMqUrl" color="orange" plain :href="rabbitMqUrl">
<v-icon left>mdi-rabbit</v-icon> RabbitMQ
</v-btn>
<v-btn v-if="keycloakUrl" color="secondary" plain :href="keycloakUrl">
<v-icon left>mdi-key</v-icon> Keycloak
</v-btn>
</v-toolbar-title>
</v-toolbar>
</div>
</template>
......
......@@ -223,6 +223,11 @@ services:
ports:
- "5672:5672"
- "15672:15672"
healthcheck:
test: wget -qO- localhost:15672/api/broker | grep "RabbitMQ" || exit 1
interval: 10s
timeout: 5s
retries: 12
depends_on:
dbrepo-authentication-service:
condition: service_healthy
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment