#247 -- Add failed test
This commit is contained in:
parent
c6c0db0232
commit
41b5d42330
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@ -8,7 +8,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
stage('Test') {
|
stage('Test') {
|
||||||
steps {
|
steps {
|
||||||
sh "./gradlew test"
|
sh "./gradlew clean test --info"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
20
build.gradle
20
build.gradle
@ -61,6 +61,10 @@ task health(dependsOn: [
|
|||||||
'checkstyleMain'
|
'checkstyleMain'
|
||||||
])
|
])
|
||||||
|
|
||||||
|
test {
|
||||||
|
useJUnitPlatform()
|
||||||
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
enabled = false
|
enabled = false
|
||||||
}
|
}
|
||||||
@ -79,7 +83,9 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web'
|
implementation('org.springframework.boot:spring-boot-starter-web') {
|
||||||
|
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
|
||||||
|
}
|
||||||
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-security'
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-security'
|
||||||
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-aop'
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-aop'
|
||||||
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail'
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail'
|
||||||
@ -91,8 +97,6 @@ dependencies {
|
|||||||
implementation group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-springsecurity6'
|
implementation group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-springsecurity6'
|
||||||
implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-afterburner'
|
implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-afterburner'
|
||||||
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-hibernate5'
|
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-hibernate5'
|
||||||
implementation group: 'org.springframework.security', name: 'spring-security-oauth2-client'
|
|
||||||
implementation group: 'org.springframework.security', name: 'spring-security-oauth2-jose'
|
|
||||||
|
|
||||||
implementation group: 'org.postgresql', name: 'postgresql', version: '42.2.5'
|
implementation group: 'org.postgresql', name: 'postgresql', version: '42.2.5'
|
||||||
|
|
||||||
@ -101,16 +105,16 @@ dependencies {
|
|||||||
|
|
||||||
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.7'
|
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.7'
|
||||||
|
|
||||||
implementation group: 'org.webjars', name: 'bootstrap', version: '4.1.0'
|
implementation group: 'org.webjars', name: 'bootstrap', version: '5.3.3'
|
||||||
implementation group: 'org.webjars', name: 'bootstrap-select', version: '1.13.3'
|
runtimeOnly group: 'org.webjars', name: 'bootstrap-select', version: '1.4.2'
|
||||||
implementation group: 'org.webjars', name: 'jquery', version: '3.3.1-1'
|
implementation group: 'org.webjars', name: 'jquery', version: '3.7.1'
|
||||||
implementation group: 'org.webjars.npm', name: 'jquery.easing', version: '1.4.1'
|
implementation group: 'org.webjars', name: 'jquery-easing', version: '1.4.1'
|
||||||
implementation group: 'org.webjars', name: 'font-awesome', version: '4.7.0'
|
implementation group: 'org.webjars', name: 'font-awesome', version: '4.7.0'
|
||||||
|
|
||||||
implementation group: 'org.springdoc', name: 'springdoc-openapi-ui', version: '1.8.0'
|
implementation group: 'org.springdoc', name: 'springdoc-openapi-ui', version: '1.8.0'
|
||||||
implementation group: 'net.sourceforge.htmlunit', name: 'htmlunit', version: '2.35.0'
|
implementation group: 'net.sourceforge.htmlunit', name: 'htmlunit', version: '2.35.0'
|
||||||
implementation group: 'xalan', name: 'xalan', version: '2.7.2'
|
implementation group: 'xalan', name: 'xalan', version: '2.7.2'
|
||||||
|
|
||||||
testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test'
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-test'
|
||||||
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.2'
|
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.2'
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import org.apache.commons.lang3.RandomStringUtils;
|
|||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.security.core.context.SecurityContext;
|
import org.springframework.security.core.context.SecurityContext;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser;
|
|
||||||
import ru.ulstu.configuration.Constants;
|
import ru.ulstu.configuration.Constants;
|
||||||
|
|
||||||
public class UserUtils {
|
public class UserUtils {
|
||||||
@ -28,10 +27,6 @@ public class UserUtils {
|
|||||||
final UserDetails springSecurityUser = (UserDetails) authentication.getPrincipal();
|
final UserDetails springSecurityUser = (UserDetails) authentication.getPrincipal();
|
||||||
return springSecurityUser.getUsername();
|
return springSecurityUser.getUsername();
|
||||||
}
|
}
|
||||||
if (authentication.getPrincipal() instanceof DefaultOidcUser) {
|
|
||||||
final DefaultOidcUser oauth2User = (DefaultOidcUser) authentication.getPrincipal();
|
|
||||||
return oauth2User.getEmail();
|
|
||||||
}
|
|
||||||
if (authentication.getPrincipal() instanceof String) {
|
if (authentication.getPrincipal() instanceof String) {
|
||||||
return (String) authentication.getPrincipal();
|
return (String) authentication.getPrincipal();
|
||||||
}
|
}
|
||||||
|
@ -156,16 +156,16 @@
|
|||||||
<a class="paper-name"
|
<a class="paper-name"
|
||||||
th:href="@{'/papers/paper?id=' + *{papers[__${rowStat.index}__].id} + ''}"
|
th:href="@{'/papers/paper?id=' + *{papers[__${rowStat.index}__].id} + ''}"
|
||||||
th:if="*{papers[__${rowStat.index}__].id !=null}">
|
th:if="*{papers[__${rowStat.index}__].id !=null}">
|
||||||
<span th:replace="papers/fragments/paperStatusFragment :: paperStatus(paperStatus=*{papers[__${rowStat.index}__].status},
|
<span th:replace="~{papers/fragments/paperStatusFragment :: paperStatus(paperStatus=*{papers[__${rowStat.index}__].status},
|
||||||
title=*{papers[__${rowStat.index}__].title}, small=false)"/>
|
title=*{papers[__${rowStat.index}__].title}, small=false)}"/>
|
||||||
<span th:text="*{papers[__${rowStat.index}__].title}">
|
<span th:text="*{papers[__${rowStat.index}__].title}">
|
||||||
Имя статьи
|
Имя статьи
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<a class="paper-name"
|
<a class="paper-name"
|
||||||
th:unless="*{papers[__${rowStat.index}__].id !=null}">
|
th:unless="*{papers[__${rowStat.index}__].id !=null}">
|
||||||
<span th:replace="papers/fragments/paperStatusFragment :: paperStatus(paperStatus=*{papers[__${rowStat.index}__].status},
|
<span th:replace="~{papers/fragments/paperStatusFragment :: paperStatus(paperStatus=*{papers[__${rowStat.index}__].status},
|
||||||
title=*{papers[__${rowStat.index}__].title}, small=false)"/>
|
title=*{papers[__${rowStat.index}__].title}, small=false)}"/>
|
||||||
<span th:text="*{papers[__${rowStat.index}__].title}">
|
<span th:text="*{papers[__${rowStat.index}__].title}">
|
||||||
Имя статьи
|
Имя статьи
|
||||||
</span>
|
</span>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<div th:fragment="grantDashboard (grant)" class="col-12 col-sm-12 col-md-12 col-lg-4 col-xl-3 dashboard-card">
|
<div th:fragment="grantDashboard (grant)" class="col-12 col-sm-12 col-md-12 col-lg-4 col-xl-3 dashboard-card">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<span th:replace="grants/fragments/grantStatusFragment :: grantStatus(grantStatus=${grant.status})"/>
|
<span th:replace="~{grants/fragments/grantStatusFragment :: grantStatus(grantStatus=${grant.status})}"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col col-10 text-right">
|
<div class="col col-10 text-right">
|
||||||
<a th:href="'grant?id='+${grant.id}">
|
<a th:href="'grant?id='+${grant.id}">
|
||||||
@ -15,8 +15,8 @@
|
|||||||
</a>
|
</a>
|
||||||
<p class="text-muted" th:text="${grant.status.statusName}"> status</p>
|
<p class="text-muted" th:text="${grant.status.statusName}"> status</p>
|
||||||
<span th:each="paper, rowStat : *{grant.papers}">
|
<span th:each="paper, rowStat : *{grant.papers}">
|
||||||
<span th:replace="papers/fragments/paperStatusFragment :: paperStatus(paperStatus=${paper.status},
|
<span th:replace="~{papers/fragments/paperStatusFragment :: paperStatus(paperStatus=${paper.status},
|
||||||
title=${paper.title}, small=true)"/>
|
title=${paper.title}, small=true)}"/>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
<span class="text-muted" th:text="${grant.authorsString}"/>
|
<span class="text-muted" th:text="${grant.authorsString}"/>
|
||||||
</a>
|
</a>
|
||||||
<span th:each="paper, rowStat : *{grant.papers}">
|
<span th:each="paper, rowStat : *{grant.papers}">
|
||||||
<span th:replace="papers/fragments/paperStatusFragment :: paperStatus(paperStatus=${paper.status},
|
<span th:replace="~{papers/fragments/paperStatusFragment :: paperStatus(paperStatus=${paper.status},
|
||||||
title=${paper.title}, small=true)"/>
|
title=${paper.title}, small=true)}"/>
|
||||||
</span>
|
</span>
|
||||||
<input class="id-class" type="hidden" th:value="${grant.id}"/>
|
<input class="id-class" type="hidden" th:value="${grant.id}"/>
|
||||||
<a class="remove-grant pull-right d-none" th:href="@{'/grants/delete/'+${grant.id}}"
|
<a class="remove-grant pull-right d-none" th:href="@{'/grants/delete/'+${grant.id}}"
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="col-lg-12 text-center">
|
<div class="col-lg-12 text-center">
|
||||||
<h2 class="section-heading text-uppercase">Статьи</h2>
|
<h2 class="section-heading text-uppercase">Статьи</h2>
|
||||||
<div th:replace="papers/fragments/paperNavigationFragment"/>
|
<div th:replace="~{papers/fragments/paperNavigationFragment}"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="row justify-content-center" id="dashboard">
|
<div class="row justify-content-center" id="dashboard">
|
||||||
<th:block th:each="paper : ${papers}">
|
<th:block th:each="paper : ${papers}">
|
||||||
<div th:replace="papers/fragments/paperDashboardFragment :: paperDashboard(paper=${paper})"/>
|
<div th:replace="~{papers/fragments/paperDashboardFragment :: paperDashboard(paper=${paper})}"/>
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<div th:replace="fragments/noRecordsFragment :: noRecords(entities=${papers}, noRecordsMessage=' одной статьи', url='paper')"/>
|
<div th:replace="fragments/noRecordsFragment :: noRecords(entities=${papers}, noRecordsMessage=' одной статьи', url='paper')"/>
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
<div th:fragment="paperDashboard (paper)" class="col-12 col-sm-12 col-md-12 col-lg-4 col-xl-3 dashboard-card">
|
<div th:fragment="paperDashboard (paper)" class="col-12 col-sm-12 col-md-12 col-lg-4 col-xl-3 dashboard-card">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<span th:replace="papers/fragments/paperStatusFragment :: paperStatus(paperStatus=${paper.status},
|
<span th:replace="~{papers/fragments/paperStatusFragment :: paperStatus(paperStatus=${paper.status},
|
||||||
title=${paper.title}, small=false)"/>
|
title=${paper.title}, small=false)}"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col col-10 text-right">
|
<div class="col col-10 text-right">
|
||||||
<p th:if="${paper.url!=null and paper.url!=''}"><a target="_blank" class="externalLink"
|
<p th:if="${paper.url!=null and paper.url!=''}"><a target="_blank" class="externalLink"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<div th:fragment="paperLine (paper)" class="text-left paper-row" style="background-color: white;">
|
<div th:fragment="paperLine (paper)" class="text-left paper-row" style="background-color: white;">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-1 d-flex justify-content-center align-self-center">
|
<div class="col-1 d-flex justify-content-center align-self-center">
|
||||||
<span th:replace="papers/fragments/paperStatusFragment :: paperStatus(paperStatus=${paper.status}, title=${paper.title}, small=false)"/>
|
<span th:replace="~{papers/fragments/paperStatusFragment :: paperStatus(paperStatus=${paper.status}, title=${paper.title}, small=false)}"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-10">
|
<div class="col-10">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<div class="row mb-3" id="paper-list">
|
<div class="row mb-3" id="paper-list">
|
||||||
<div class="col-lg-12 text-center">
|
<div class="col-lg-12 text-center">
|
||||||
<h3 class="section-heading text-uppercase">Статьи</h3>
|
<h3 class="section-heading text-uppercase">Статьи</h3>
|
||||||
<div th:replace="papers/fragments/paperNavigationFragment"/>
|
<div th:replace="~{papers/fragments/paperNavigationFragment}"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ru.ulstu;
|
package ru.ulstu.test;
|
||||||
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
Loading…
Reference in New Issue
Block a user