You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/04/07 11:55:30 UTC

[incubator-dlab] 01/03: Revert "[DLAB-1694] Fixed quotas issues"

This is an automated email from the ASF dual-hosted git repository.

ofuks pushed a commit to branch DLAB-1571
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit 2fb381ef79f7ea629f96f33a17a5c55c17ce521b
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Tue Apr 7 11:50:17 2020 +0300

    Revert "[DLAB-1694] Fixed quotas issues"
---
 .../com/epam/dlab/backendapi/dao/BillingDAO.java   | 20 +++++++--------
 .../interceptor/BudgetLimitInterceptor.java        | 29 +++++++++++-----------
 .../schedulers/CheckApplicationQuoteScheduler.java |  5 +---
 .../schedulers/CheckProjectQuoteScheduler.java     |  5 +---
 .../schedulers/CheckUserQuoteScheduler.java        |  5 +---
 .../dlab/backendapi/service/BillingService.java    |  2 +-
 .../service/impl/BillingServiceImpl.java           | 21 ++++++----------
 .../service/impl/ComputationalServiceImpl.java     |  7 +++---
 .../service/impl/ExploratoryServiceImpl.java       |  5 ++--
 .../impl/InfrastructureInfoServiceImpl.java        |  6 ++---
 .../service/impl/ProjectServiceImpl.java           |  4 +--
 .../CheckApplicationQuoteSchedulerTest.java        | 28 ++++-----------------
 .../schedulers/CheckUserQuoteSchedulerTest.java    | 27 ++++----------------
 13 files changed, 55 insertions(+), 109 deletions(-)

diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BillingDAO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BillingDAO.java
index d5e0064..d50c62f 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BillingDAO.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BillingDAO.java
@@ -18,24 +18,22 @@
  */
 package com.epam.dlab.backendapi.dao;
 
-import com.epam.dlab.auth.UserInfo;
-
 public interface BillingDAO {
-	Double getTotalCost(UserInfo userInfo);
+	Double getTotalCost();
 
-	Double getUserCost(String user, UserInfo userInfo);
+	Double getUserCost(String user);
 
-	Double getProjectCost(String project, UserInfo userInfo);
+	Double getProjectCost(String project);
 
-	int getBillingQuoteUsed(UserInfo userInfo);
+	int getBillingQuoteUsed();
 
-	int getBillingUserQuoteUsed(String user, UserInfo userInfo);
+	int getBillingUserQuoteUsed(String user);
 
-	int getBillingProjectQuoteUsed(String project, UserInfo userInfo);
+	int getBillingProjectQuoteUsed(String project);
 
-	boolean isBillingQuoteReached(UserInfo userInfo);
+	boolean isBillingQuoteReached();
 
-	boolean isUserQuoteReached(String user, UserInfo userInfo);
+	boolean isUserQuoteReached(String user);
 
-	boolean isProjectQuoteReached(String project, UserInfo userInfo);
+	boolean isProjectQuoteReached(String project);
 }
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/BudgetLimitInterceptor.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/BudgetLimitInterceptor.java
index e4fab10..43fdaf6 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/BudgetLimitInterceptor.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/BudgetLimitInterceptor.java
@@ -21,10 +21,7 @@ package com.epam.dlab.backendapi.interceptor;
 
 import com.epam.dlab.auth.UserInfo;
 import com.epam.dlab.backendapi.annotation.Project;
-import com.epam.dlab.backendapi.annotation.User;
 import com.epam.dlab.backendapi.dao.BillingDAO;
-import com.epam.dlab.backendapi.service.SecurityService;
-import com.epam.dlab.exceptions.DlabException;
 import com.epam.dlab.exceptions.ResourceQuoteReachedException;
 import com.google.inject.Inject;
 import lombok.extern.slf4j.Slf4j;
@@ -33,6 +30,7 @@ import org.aopalliance.intercept.MethodInvocation;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Parameter;
+import java.util.Arrays;
 import java.util.Objects;
 import java.util.stream.IntStream;
 
@@ -40,12 +38,10 @@ import java.util.stream.IntStream;
 public class BudgetLimitInterceptor implements MethodInterceptor {
 	@Inject
 	private BillingDAO billingDAO;
-	@Inject
-	private SecurityService securityService;
 
 	@Override
 	public Object invoke(MethodInvocation mi) throws Throwable {
-		if (projectQuoteReached(mi) || billingDAO.isBillingQuoteReached(securityService.getServiceAccountInfo("admin"))) {
+		if (projectQuoteReached(mi) || billingDAO.isBillingQuoteReached()) {
 			final Method method = mi.getMethod();
 			log.warn("Execution of method {} failed because of reaching resource limit quote", method.getName());
 			throw new ResourceQuoteReachedException("Operation can not be finished. Resource quote is reached");
@@ -54,20 +50,23 @@ public class BudgetLimitInterceptor implements MethodInterceptor {
 		}
 	}
 
+	private Boolean userQuoteReached(MethodInvocation mi) {
+		return Arrays.stream(mi.getArguments())
+				.filter(arg -> arg.getClass().equals(UserInfo.class))
+				.findAny()
+				.map(u -> ((UserInfo) u).getName())
+				.map(billingDAO::isUserQuoteReached)
+				.orElse(Boolean.FALSE);
+	}
+
 	private Boolean projectQuoteReached(MethodInvocation mi) {
 
 		final Parameter[] parameters = mi.getMethod().getParameters();
-		String project = IntStream.range(0, parameters.length)
+		return IntStream.range(0, parameters.length)
 				.filter(i -> Objects.nonNull(parameters[i].getAnnotation(Project.class)))
 				.mapToObj(i -> (String) mi.getArguments()[i])
 				.findAny()
-				.orElseThrow(() -> new DlabException("Project parameter wanted!"));
-		UserInfo userInfo = IntStream.range(0, parameters.length)
-				.filter(i -> Objects.nonNull(parameters[i].getAnnotation(User.class)))
-				.mapToObj(i -> (UserInfo) mi.getArguments()[i])
-				.findAny()
-				.orElseThrow(() -> new DlabException("UserInfo parameter wanted!"));
-
-		return billingDAO.isProjectQuoteReached(project, userInfo);
+				.map(billingDAO::isProjectQuoteReached)
+				.orElse(Boolean.FALSE);
 	}
 }
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteScheduler.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteScheduler.java
index 35b1ad3..bca047c 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteScheduler.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteScheduler.java
@@ -22,7 +22,6 @@ package com.epam.dlab.backendapi.schedulers;
 import com.epam.dlab.backendapi.dao.BillingDAO;
 import com.epam.dlab.backendapi.schedulers.internal.Scheduled;
 import com.epam.dlab.backendapi.service.EnvironmentService;
-import com.epam.dlab.backendapi.service.SecurityService;
 import com.google.inject.Inject;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.Job;
@@ -35,12 +34,10 @@ public class CheckApplicationQuoteScheduler implements Job {
 	private BillingDAO billingDAO;
 	@Inject
 	private EnvironmentService environmentService;
-	@Inject
-	private SecurityService securityService;
 
 	@Override
 	public void execute(JobExecutionContext context) {
-		if (billingDAO.isBillingQuoteReached(securityService.getServiceAccountInfo("admin"))) {
+		if (billingDAO.isBillingQuoteReached()) {
 			log.warn("Stopping all environments because of reaching budget quote");
 			environmentService.stopAll();
 		}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckProjectQuoteScheduler.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckProjectQuoteScheduler.java
index 57598df..030c10d 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckProjectQuoteScheduler.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckProjectQuoteScheduler.java
@@ -24,7 +24,6 @@ import com.epam.dlab.backendapi.domain.ProjectDTO;
 import com.epam.dlab.backendapi.schedulers.internal.Scheduled;
 import com.epam.dlab.backendapi.service.EnvironmentService;
 import com.epam.dlab.backendapi.service.ProjectService;
-import com.epam.dlab.backendapi.service.SecurityService;
 import com.google.inject.Inject;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.Job;
@@ -40,15 +39,13 @@ public class CheckProjectQuoteScheduler implements Job {
 	private EnvironmentService environmentService;
 	@Inject
 	private ProjectService projectService;
-	@Inject
-	private SecurityService securityService;
 
 	@Override
 	public void execute(JobExecutionContext context) {
 		projectService.getProjects()
 				.stream()
 				.map(ProjectDTO::getName)
-				.filter(p -> billingDAO.isProjectQuoteReached(p, securityService.getServiceAccountInfo("admin")))
+				.filter(billingDAO::isProjectQuoteReached)
 				.peek(p -> log.debug("Stopping {} project env because of reaching user billing quote", p))
 				.forEach(environmentService::stopProjectEnvironment);
 	}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteScheduler.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteScheduler.java
index 11aa586..1e2e7f4 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteScheduler.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteScheduler.java
@@ -23,7 +23,6 @@ import com.epam.dlab.backendapi.dao.BillingDAO;
 import com.epam.dlab.backendapi.resources.dto.UserDTO;
 import com.epam.dlab.backendapi.schedulers.internal.Scheduled;
 import com.epam.dlab.backendapi.service.EnvironmentService;
-import com.epam.dlab.backendapi.service.SecurityService;
 import com.google.inject.Inject;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.Job;
@@ -37,15 +36,13 @@ public class CheckUserQuoteScheduler implements Job {
 	private BillingDAO billingDAO;
 	@Inject
 	private EnvironmentService environmentService;
-	@Inject
-	private SecurityService securityService;
 
 	@Override
 	public void execute(JobExecutionContext context) {
 		environmentService.getUsers()
 				.stream()
 				.map(UserDTO::getName)
-				.filter(u -> billingDAO.isUserQuoteReached(u, securityService.getServiceAccountInfo("admin")))
+				.filter(billingDAO::isUserQuoteReached)
 				.peek(u -> log.warn("Stopping {} user env because of reaching user billing quote", u))
 				.forEach(environmentService::stopEnvironmentWithServiceAccount);
 	}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/BillingService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/BillingService.java
index 9925b1c..40a5c14 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/BillingService.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/BillingService.java
@@ -33,7 +33,7 @@ public interface BillingService {
 
     String downloadReport(UserInfo userInfo, BillingFilter filter);
 
-    List<BillingReportLine> getBillingReportLines(UserInfo userInfo, BillingFilter filter, boolean isFullReport);
+    List<BillingReportLine> getBillingReportLines(UserInfo userInfo, BillingFilter filter);
 
     List<BillingData> getExploratoryRemoteBillingData(UserInfo user, String endpoint, List<UserInstanceDTO> userInstanceDTOS);
 }
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java
index baef8a5..7d6ab11 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java
@@ -60,7 +60,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
@@ -99,7 +98,7 @@ public class BillingServiceImpl implements BillingService {
 
     @Override
     public BillingReport getBillingReport(UserInfo user, BillingFilter filter) {
-        List<BillingReportLine> billingReportLines = getBillingReportLines(user, filter, isFullReport(user));
+        List<BillingReportLine> billingReportLines = getBillingReportLines(user, filter);
         LocalDate min = billingReportLines.stream().min(Comparator.comparing(BillingReportLine::getUsageDateFrom)).map(BillingReportLine::getUsageDateFrom).orElse(null);
         LocalDate max = billingReportLines.stream().max(Comparator.comparing(BillingReportLine::getUsageDateTo)).map(BillingReportLine::getUsageDateTo).orElse(null);
         double sum = billingReportLines.stream().mapToDouble(BillingReportLine::getCost).sum();
@@ -131,10 +130,10 @@ public class BillingServiceImpl implements BillingService {
     }
 
     @Override
-    public List<BillingReportLine> getBillingReportLines(UserInfo user, BillingFilter filter, boolean isFullReport) {
+    public List<BillingReportLine> getBillingReportLines(UserInfo user, BillingFilter filter) {
         setUserFilter(user, filter);
         Set<ProjectDTO> projects;
-        if (isFullReport) {
+        if (isFullReport(user)) {
             projects = new HashSet<>(projectService.getProjects());
         } else {
             projects = new HashSet<>(projectService.getProjects(user));
@@ -240,7 +239,7 @@ public class BillingServiceImpl implements BillingService {
         try {
             return s.get();
         } catch (InterruptedException | ExecutionException e) {
-            log.error("Cannot retrieve billing information {}", e.getMessage(), e);
+            log.error("Cannot retrieve billing information {}", e.getMessage());
             return Collections.emptyList();
         }
     }
@@ -262,18 +261,14 @@ public class BillingServiceImpl implements BillingService {
     }
 
     private Callable<List<BillingData>> getTask(UserInfo userInfo, String url, BillingFilter filter) {
-        final String dateStart = Optional.ofNullable(filter.getDateStart()).orElse("");
-        final String dateEnd = Optional.ofNullable(filter.getDateEnd()).orElse("");
-        final String dlabId = Optional.ofNullable(filter.getDlabId()).orElse("");
-        final List<String> products = Optional.ofNullable(filter.getProducts()).orElse(Collections.emptyList());
         return () -> provisioningService.get(url, userInfo.getAccessToken(),
                 new GenericType<List<BillingData>>() {
                 },
                 Stream.of(new String[][]{
-                        {"date-start", dateStart},
-                        {"date-end", dateEnd},
-                        {"dlab-id", dlabId},
-                        {"product", String.join(",", products)}
+                        {"date-start", filter.getDateStart()},
+                        {"date-end", filter.getDateEnd()},
+                        {"dlab-id", filter.getDlabId()},
+                        {"product", String.join(",", filter.getProducts())}
                 }).collect(Collectors.toMap(data -> data[0], data -> data[1])));
     }
 
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java
index 6d7e663..722ee4d 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java
@@ -23,7 +23,6 @@ package com.epam.dlab.backendapi.service.impl;
 import com.epam.dlab.auth.UserInfo;
 import com.epam.dlab.backendapi.annotation.BudgetLimited;
 import com.epam.dlab.backendapi.annotation.Project;
-import com.epam.dlab.backendapi.annotation.User;
 import com.epam.dlab.backendapi.dao.ComputationalDAO;
 import com.epam.dlab.backendapi.dao.ExploratoryDAO;
 import com.epam.dlab.backendapi.domain.EndpointDTO;
@@ -144,7 +143,7 @@ public class ComputationalServiceImpl implements ComputationalService {
 
 	@BudgetLimited
 	@Override
-	public boolean createSparkCluster(@User UserInfo userInfo, SparkStandaloneClusterCreateForm form, @Project String project) {
+	public boolean createSparkCluster(UserInfo userInfo, SparkStandaloneClusterCreateForm form, @Project String project) {
 
 		final ProjectDTO projectDTO = projectService.get(project);
 		final UserInstanceDTO instance =
@@ -212,7 +211,7 @@ public class ComputationalServiceImpl implements ComputationalService {
 
 	@BudgetLimited
 	@Override
-	public boolean createDataEngineService(@User UserInfo userInfo, ComputationalCreateFormDTO formDTO,
+	public boolean createDataEngineService(UserInfo userInfo, ComputationalCreateFormDTO formDTO,
 										   UserComputationalResource computationalResource, @Project String project) {
 
 		final ProjectDTO projectDTO = projectService.get(project);
@@ -273,7 +272,7 @@ public class ComputationalServiceImpl implements ComputationalService {
 
 	@BudgetLimited
 	@Override
-	public void startSparkCluster(@User UserInfo userInfo, String expName, String compName, @Project String project) {
+	public void startSparkCluster(UserInfo userInfo, String expName, String compName, @Project String project) {
 		final UserInstanceDTO userInstance =
 				exploratoryDAO.fetchExploratoryFields(userInfo.getName(), project, expName, true);
 		final UserInstanceStatus requiredStatus = UserInstanceStatus.STOPPED;
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ExploratoryServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ExploratoryServiceImpl.java
index 1ee7bce..6a2a615 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ExploratoryServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ExploratoryServiceImpl.java
@@ -22,7 +22,6 @@ package com.epam.dlab.backendapi.service.impl;
 import com.epam.dlab.auth.UserInfo;
 import com.epam.dlab.backendapi.annotation.BudgetLimited;
 import com.epam.dlab.backendapi.annotation.Project;
-import com.epam.dlab.backendapi.annotation.User;
 import com.epam.dlab.backendapi.dao.ComputationalDAO;
 import com.epam.dlab.backendapi.dao.ExploratoryDAO;
 import com.epam.dlab.backendapi.dao.GitCredsDAO;
@@ -106,7 +105,7 @@ public class ExploratoryServiceImpl implements ExploratoryService {
 
 	@BudgetLimited
 	@Override
-	public String start(@User UserInfo userInfo, String exploratoryName, @Project String project) {
+	public String start(UserInfo userInfo, String exploratoryName, @Project String project) {
 		return action(userInfo, project, exploratoryName, EXPLORATORY_START, STARTING);
 	}
 
@@ -122,7 +121,7 @@ public class ExploratoryServiceImpl implements ExploratoryService {
 
 	@BudgetLimited
 	@Override
-	public String create(@User UserInfo userInfo, Exploratory exploratory, @Project String project) {
+	public String create(UserInfo userInfo, Exploratory exploratory, @Project String project) {
 		boolean isAdded = false;
 		try {
 			final ProjectDTO projectDTO = projectService.get(project);
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
index 267ef36..28b94e9 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
@@ -120,7 +120,7 @@ public class InfrastructureInfoServiceImpl implements InfrastructureInfoService
 										.stream()
 										.collect(Collectors.toMap(ProjectEndpointDTO::getName, this::getSharedInfo));
 						return new ProjectInfrastructureInfo(e.getKey(),
-								billingDAO.getBillingProjectQuoteUsed(e.getKey(), user), projectEdges, e.getValue(), collect, endpointResult);
+								billingDAO.getBillingProjectQuoteUsed(e.getKey()), projectEdges, e.getValue(), collect, endpointResult);
 					})
 					.collect(Collectors.toList());
 		} catch (Exception e) {
@@ -141,8 +141,8 @@ public class InfrastructureInfoServiceImpl implements InfrastructureInfoService
 					.projectAdmin(UserRoles.isProjectAdmin(userInfo))
 					.admin(UserRoles.isAdmin(userInfo))
 					.projectAssigned(projectService.isAnyProjectAssigned(userInfo))
-					.billingQuoteUsed(billingDAO.getBillingQuoteUsed(userInfo))
-					.billingUserQuoteUsed(billingDAO.getBillingUserQuoteUsed(user, userInfo))
+					.billingQuoteUsed(billingDAO.getBillingQuoteUsed())
+					.billingUserQuoteUsed(billingDAO.getBillingUserQuoteUsed(user))
 					.build();
 		} catch (Exception e) {
 			log.warn("Could not return status of resources for user {}: {}", user, e.getLocalizedMessage(), e);
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java
index 48d1388..0d1f5ed 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java
@@ -100,7 +100,7 @@ public class ProjectServiceImpl implements ProjectService {
 
 	@BudgetLimited
 	@Override
-	public void create(@User UserInfo user, ProjectDTO projectDTO) {
+	public void create(UserInfo user, ProjectDTO projectDTO) {
 		if (!projectDAO.get(projectDTO.getName()).isPresent()) {
 			projectDAO.create(projectDTO);
 			createProjectOnCloud(user, projectDTO);
@@ -131,7 +131,7 @@ public class ProjectServiceImpl implements ProjectService {
 
 	@BudgetLimited
 	@Override
-	public void start(@User UserInfo userInfo, String endpoint, @Project String name) {
+	public void start(UserInfo userInfo, String endpoint, @Project String name) {
 		projectActionOnCloud(userInfo, name, START_PRJ_API, endpoint);
 		projectDAO.updateEdgeStatus(name, endpoint, UserInstanceStatus.STARTING);
 	}
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteSchedulerTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteSchedulerTest.java
index b95202b..99fd932 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteSchedulerTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteSchedulerTest.java
@@ -19,10 +19,8 @@
 
 package com.epam.dlab.backendapi.schedulers;
 
-import com.epam.dlab.auth.UserInfo;
 import com.epam.dlab.backendapi.dao.BillingDAO;
 import com.epam.dlab.backendapi.service.EnvironmentService;
-import com.epam.dlab.backendapi.service.SecurityService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
@@ -30,12 +28,7 @@ import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.quartz.JobExecutionContext;
 
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyString;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.class)
 public class CheckApplicationQuoteSchedulerTest {
@@ -46,39 +39,28 @@ public class CheckApplicationQuoteSchedulerTest {
 	private EnvironmentService environmentService;
 	@Mock
 	private JobExecutionContext jobExecutionContext;
-	@Mock
-	private SecurityService securityService;
 	@InjectMocks
 	private CheckApplicationQuoteScheduler checkApplicationQuoteScheduler;
 
 	@Test
 	public void testWhenQuoteNotReached() {
-		when(billingDAO.isBillingQuoteReached(any(UserInfo.class))).thenReturn(false);
-		when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
+		when(billingDAO.isBillingQuoteReached()).thenReturn(false);
 
 		checkApplicationQuoteScheduler.execute(jobExecutionContext);
 
-		verify(securityService).getServiceAccountInfo("admin");
-		verify(billingDAO).isBillingQuoteReached(getUserInfo());
+		verify(billingDAO).isBillingQuoteReached();
 		verifyNoMoreInteractions(billingDAO);
 		verifyZeroInteractions(environmentService);
 	}
 
 	@Test
 	public void testWhenQuoteReached() {
-		when(billingDAO.isBillingQuoteReached(any(UserInfo.class))).thenReturn(true);
-		when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
+		when(billingDAO.isBillingQuoteReached()).thenReturn(true);
 
 		checkApplicationQuoteScheduler.execute(jobExecutionContext);
 
-		verify(securityService).getServiceAccountInfo("admin");
-		verify(billingDAO).isBillingQuoteReached(getUserInfo());
+		verify(billingDAO).isBillingQuoteReached();
 		verify(environmentService).stopAll();
 		verifyNoMoreInteractions(billingDAO, environmentService);
 	}
-
-	private UserInfo getUserInfo() {
-		return new UserInfo("admin", null);
-	}
-
 }
\ No newline at end of file
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteSchedulerTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteSchedulerTest.java
index 1cb7511..1c6937c 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteSchedulerTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteSchedulerTest.java
@@ -19,11 +19,9 @@
 
 package com.epam.dlab.backendapi.schedulers;
 
-import com.epam.dlab.auth.UserInfo;
 import com.epam.dlab.backendapi.dao.BillingDAO;
 import com.epam.dlab.backendapi.resources.dto.UserDTO;
 import com.epam.dlab.backendapi.service.EnvironmentService;
-import com.epam.dlab.backendapi.service.SecurityService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
@@ -34,12 +32,7 @@ import org.quartz.JobExecutionContext;
 import java.util.Collections;
 
 import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.class)
 public class CheckUserQuoteSchedulerTest {
@@ -51,22 +44,18 @@ public class CheckUserQuoteSchedulerTest {
 	private EnvironmentService environmentService;
 	@Mock
 	private JobExecutionContext jobExecutionContext;
-	@Mock
-	private SecurityService securityService;
 	@InjectMocks
 	private CheckUserQuoteScheduler checkUserQuoteScheduler;
 
 	@Test
 	public void testWhenUserQuoteReached() {
-		when(billingDAO.isUserQuoteReached(anyString(), any(UserInfo.class))).thenReturn(true);
+		when(billingDAO.isUserQuoteReached(anyString())).thenReturn(true);
 		when(environmentService.getUsers()).thenReturn(Collections.singletonList(new UserDTO(USER, 1, UserDTO.Status.ACTIVE)));
-		when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
 
 		checkUserQuoteScheduler.execute(jobExecutionContext);
 
 		verify(environmentService).getUsers();
-		verify(securityService).getServiceAccountInfo("admin");
-		verify(billingDAO).isUserQuoteReached(USER, getUserInfo());
+		verify(billingDAO).isUserQuoteReached(USER);
 		verify(environmentService).stopEnvironmentWithServiceAccount(USER);
 		verifyNoMoreInteractions(environmentService, billingDAO);
 		verifyZeroInteractions(jobExecutionContext);
@@ -74,21 +63,15 @@ public class CheckUserQuoteSchedulerTest {
 
 	@Test
 	public void testWhenUserQuoteNotReached() {
-		when(billingDAO.isUserQuoteReached(anyString(), any(UserInfo.class))).thenReturn(false);
+		when(billingDAO.isUserQuoteReached(anyString())).thenReturn(false);
 		when(environmentService.getUsers()).thenReturn(Collections.singletonList(new UserDTO(USER, 1, UserDTO.Status.ACTIVE)));
-		when(securityService.getServiceAccountInfo(anyString())).thenReturn(getUserInfo());
 
 		checkUserQuoteScheduler.execute(jobExecutionContext);
 
 		verify(environmentService).getUsers();
-		verify(securityService).getServiceAccountInfo("admin");
-		verify(billingDAO).isUserQuoteReached(USER, getUserInfo());
+		verify(billingDAO).isUserQuoteReached(USER);
 		verify(environmentService, never()).stopEnvironmentWithServiceAccount(anyString());
 		verifyNoMoreInteractions(environmentService, billingDAO);
 		verifyZeroInteractions(jobExecutionContext);
 	}
-
-	private UserInfo getUserInfo() {
-		return new UserInfo("admin", null);
-	}
 }
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org