Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
apollo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
apollo
Commits
bd3bfc09
Commit
bd3bfc09
authored
Apr 21, 2016
by
Jason Song
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #133 from yiming187/unique_check
Add unique check for app/cluster/namespace
parents
cb993369
d521b24f
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
319 additions
and
171 deletions
+319
-171
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/AppController.java
...m/ctrip/apollo/adminservice/controller/AppController.java
+5
-0
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/AppNamespaceController.java
...pollo/adminservice/controller/AppNamespaceController.java
+21
-0
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/ClusterController.java
...rip/apollo/adminservice/controller/ClusterController.java
+6
-5
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/ItemController.java
.../ctrip/apollo/adminservice/controller/ItemController.java
+1
-5
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/NamespaceController.java
...p/apollo/adminservice/controller/NamespaceController.java
+1
-5
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/ReleaseController.java
...rip/apollo/adminservice/controller/ReleaseController.java
+1
-5
apollo-adminservice/src/test/java/com/ctrip/apollo/adminservice/controller/AppControllerTest.java
...rip/apollo/adminservice/controller/AppControllerTest.java
+18
-0
apollo-biz/src/main/java/com/ctrip/apollo/biz/repository/AppNamespaceRepository.java
...m/ctrip/apollo/biz/repository/AppNamespaceRepository.java
+2
-0
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/AdminService.java
.../main/java/com/ctrip/apollo/biz/service/AdminService.java
+8
-57
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/AppNamespaceService.java
...ava/com/ctrip/apollo/biz/service/AppNamespaceService.java
+45
-0
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/AppService.java
...rc/main/java/com/ctrip/apollo/biz/service/AppService.java
+10
-0
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ClusterService.java
...ain/java/com/ctrip/apollo/biz/service/ClusterService.java
+43
-0
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ItemService.java
...c/main/java/com/ctrip/apollo/biz/service/ItemService.java
+21
-0
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/NamespaceService.java
...n/java/com/ctrip/apollo/biz/service/NamespaceService.java
+43
-1
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ReleaseService.java
...ain/java/com/ctrip/apollo/biz/service/ReleaseService.java
+10
-0
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ViewService.java
...c/main/java/com/ctrip/apollo/biz/service/ViewService.java
+0
-84
apollo-biz/src/test/java/com/ctrip/apollo/biz/service/AdminServiceTest.java
...t/java/com/ctrip/apollo/biz/service/AdminServiceTest.java
+30
-4
apollo-biz/src/test/java/com/ctrip/apollo/biz/service/ClusterServiceTest.java
...java/com/ctrip/apollo/biz/service/ClusterServiceTest.java
+46
-0
apollo-biz/src/test/java/com/ctrip/apollo/biz/service/PrivilegeServiceTest.java
...va/com/ctrip/apollo/biz/service/PrivilegeServiceTest.java
+8
-5
No files found.
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/AppController.java
View file @
bd3bfc09
...
@@ -73,4 +73,9 @@ public class AppController {
...
@@ -73,4 +73,9 @@ public class AppController {
return
BeanUtils
.
transfrom
(
AppDTO
.
class
,
app
);
return
BeanUtils
.
transfrom
(
AppDTO
.
class
,
app
);
}
}
@RequestMapping
(
"/apps/{appId}/unique"
)
public
boolean
isAppIdUnique
(
@PathVariable
(
"appId"
)
String
appId
)
{
return
appService
.
isAppIdUnique
(
appId
);
}
}
}
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/AppNamespaceController.java
0 → 100644
View file @
bd3bfc09
package
com
.
ctrip
.
apollo
.
adminservice
.
controller
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.ctrip.apollo.biz.service.AppNamespaceService
;
@RestController
public
class
AppNamespaceController
{
@Autowired
private
AppNamespaceService
appNamespaceService
;
@RequestMapping
(
"/apps/{appId}/appnamespace/{appnamespace}/unique"
)
public
boolean
isAppNamespaceUnique
(
@PathVariable
(
"appId"
)
String
appId
,
@PathVariable
(
"appnamespace"
)
String
appnamespace
)
{
return
appNamespaceService
.
isAppNamespaceNameUnique
(
appId
,
appnamespace
);
}
}
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/ClusterController.java
View file @
bd3bfc09
...
@@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RestController;
import
com.ctrip.apollo.biz.entity.Cluster
;
import
com.ctrip.apollo.biz.entity.Cluster
;
import
com.ctrip.apollo.biz.service.ClusterService
;
import
com.ctrip.apollo.biz.service.ClusterService
;
import
com.ctrip.apollo.biz.service.ViewService
;
import
com.ctrip.apollo.common.auth.ActiveUser
;
import
com.ctrip.apollo.common.auth.ActiveUser
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.core.dto.ClusterDTO
;
import
com.ctrip.apollo.core.dto.ClusterDTO
;
...
@@ -21,9 +20,6 @@ import com.ctrip.apollo.core.exception.NotFoundException;
...
@@ -21,9 +20,6 @@ import com.ctrip.apollo.core.exception.NotFoundException;
@RestController
@RestController
public
class
ClusterController
{
public
class
ClusterController
{
@Autowired
private
ViewService
viewService
;
@Autowired
@Autowired
private
ClusterService
clusterService
;
private
ClusterService
clusterService
;
...
@@ -56,7 +52,7 @@ public class ClusterController {
...
@@ -56,7 +52,7 @@ public class ClusterController {
@RequestMapping
(
"/apps/{appId}/clusters"
)
@RequestMapping
(
"/apps/{appId}/clusters"
)
public
List
<
ClusterDTO
>
find
(
@PathVariable
(
"appId"
)
String
appId
)
{
public
List
<
ClusterDTO
>
find
(
@PathVariable
(
"appId"
)
String
appId
)
{
List
<
Cluster
>
clusters
=
view
Service
.
findClusters
(
appId
);
List
<
Cluster
>
clusters
=
cluster
Service
.
findClusters
(
appId
);
return
BeanUtils
.
batchTransform
(
ClusterDTO
.
class
,
clusters
);
return
BeanUtils
.
batchTransform
(
ClusterDTO
.
class
,
clusters
);
}
}
...
@@ -68,4 +64,9 @@ public class ClusterController {
...
@@ -68,4 +64,9 @@ public class ClusterController {
return
BeanUtils
.
transfrom
(
ClusterDTO
.
class
,
cluster
);
return
BeanUtils
.
transfrom
(
ClusterDTO
.
class
,
cluster
);
}
}
@RequestMapping
(
"/apps/{appId}/cluster/{clusterName}/unique"
)
public
boolean
isAppIdUnique
(
@PathVariable
(
"appId"
)
String
appId
,
@PathVariable
(
"clusterName"
)
String
clusterName
)
{
return
clusterService
.
isClusterNameUnique
(
appId
,
clusterName
);
}
}
}
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/ItemController.java
View file @
bd3bfc09
...
@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RestController;
import
com.ctrip.apollo.biz.entity.Item
;
import
com.ctrip.apollo.biz.entity.Item
;
import
com.ctrip.apollo.biz.service.ItemService
;
import
com.ctrip.apollo.biz.service.ItemService
;
import
com.ctrip.apollo.biz.service.ViewService
;
import
com.ctrip.apollo.common.auth.ActiveUser
;
import
com.ctrip.apollo.common.auth.ActiveUser
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.core.dto.ItemDTO
;
import
com.ctrip.apollo.core.dto.ItemDTO
;
...
@@ -22,9 +21,6 @@ import com.ctrip.apollo.core.exception.NotFoundException;
...
@@ -22,9 +21,6 @@ import com.ctrip.apollo.core.exception.NotFoundException;
@RestController
@RestController
public
class
ItemController
{
public
class
ItemController
{
@Autowired
private
ViewService
viewService
;
@Autowired
@Autowired
private
ItemService
itemService
;
private
ItemService
itemService
;
...
@@ -59,7 +55,7 @@ public class ItemController {
...
@@ -59,7 +55,7 @@ public class ItemController {
public
List
<
ItemDTO
>
findItems
(
@PathVariable
(
"appId"
)
String
appId
,
public
List
<
ItemDTO
>
findItems
(
@PathVariable
(
"appId"
)
String
appId
,
@PathVariable
(
"clusterName"
)
String
clusterName
,
@PathVariable
(
"clusterName"
)
String
clusterName
,
@PathVariable
(
"namespaceName"
)
String
namespaceName
)
{
@PathVariable
(
"namespaceName"
)
String
namespaceName
)
{
List
<
Item
>
items
=
view
Service
.
findItems
(
appId
,
clusterName
,
namespaceName
);
List
<
Item
>
items
=
item
Service
.
findItems
(
appId
,
clusterName
,
namespaceName
);
List
<
ItemDTO
>
itemDTOs
=
new
LinkedList
<>();
List
<
ItemDTO
>
itemDTOs
=
new
LinkedList
<>();
for
(
Item
item:
items
){
for
(
Item
item:
items
){
...
...
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/NamespaceController.java
View file @
bd3bfc09
...
@@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RestController;
import
com.ctrip.apollo.biz.entity.Namespace
;
import
com.ctrip.apollo.biz.entity.Namespace
;
import
com.ctrip.apollo.biz.service.NamespaceService
;
import
com.ctrip.apollo.biz.service.NamespaceService
;
import
com.ctrip.apollo.biz.service.ViewService
;
import
com.ctrip.apollo.common.auth.ActiveUser
;
import
com.ctrip.apollo.common.auth.ActiveUser
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.core.dto.NamespaceDTO
;
import
com.ctrip.apollo.core.dto.NamespaceDTO
;
...
@@ -21,9 +20,6 @@ import com.ctrip.apollo.core.exception.NotFoundException;
...
@@ -21,9 +20,6 @@ import com.ctrip.apollo.core.exception.NotFoundException;
@RestController
@RestController
public
class
NamespaceController
{
public
class
NamespaceController
{
@Autowired
private
ViewService
viewService
;
@Autowired
@Autowired
private
NamespaceService
namespaceService
;
private
NamespaceService
namespaceService
;
...
@@ -59,7 +55,7 @@ public class NamespaceController {
...
@@ -59,7 +55,7 @@ public class NamespaceController {
@RequestMapping
(
"/apps/{appId}/clusters/{clusterName}/namespaces"
)
@RequestMapping
(
"/apps/{appId}/clusters/{clusterName}/namespaces"
)
public
List
<
NamespaceDTO
>
find
(
@PathVariable
(
"appId"
)
String
appId
,
public
List
<
NamespaceDTO
>
find
(
@PathVariable
(
"appId"
)
String
appId
,
@PathVariable
(
"clusterName"
)
String
clusterName
)
{
@PathVariable
(
"clusterName"
)
String
clusterName
)
{
List
<
Namespace
>
groups
=
view
Service
.
findNamespaces
(
appId
,
clusterName
);
List
<
Namespace
>
groups
=
namespace
Service
.
findNamespaces
(
appId
,
clusterName
);
return
BeanUtils
.
batchTransform
(
NamespaceDTO
.
class
,
groups
);
return
BeanUtils
.
batchTransform
(
NamespaceDTO
.
class
,
groups
);
}
}
...
...
apollo-adminservice/src/main/java/com/ctrip/apollo/adminservice/controller/ReleaseController.java
View file @
bd3bfc09
...
@@ -15,7 +15,6 @@ import com.ctrip.apollo.biz.entity.Release;
...
@@ -15,7 +15,6 @@ import com.ctrip.apollo.biz.entity.Release;
import
com.ctrip.apollo.biz.service.ConfigService
;
import
com.ctrip.apollo.biz.service.ConfigService
;
import
com.ctrip.apollo.biz.service.NamespaceService
;
import
com.ctrip.apollo.biz.service.NamespaceService
;
import
com.ctrip.apollo.biz.service.ReleaseService
;
import
com.ctrip.apollo.biz.service.ReleaseService
;
import
com.ctrip.apollo.biz.service.ViewService
;
import
com.ctrip.apollo.common.auth.ActiveUser
;
import
com.ctrip.apollo.common.auth.ActiveUser
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.core.dto.ReleaseDTO
;
import
com.ctrip.apollo.core.dto.ReleaseDTO
;
...
@@ -24,9 +23,6 @@ import com.ctrip.apollo.core.exception.NotFoundException;
...
@@ -24,9 +23,6 @@ import com.ctrip.apollo.core.exception.NotFoundException;
@RestController
@RestController
public
class
ReleaseController
{
public
class
ReleaseController
{
@Autowired
private
ViewService
viewSerivce
;
@Autowired
@Autowired
private
ReleaseService
releaseService
;
private
ReleaseService
releaseService
;
...
@@ -48,7 +44,7 @@ public class ReleaseController {
...
@@ -48,7 +44,7 @@ public class ReleaseController {
public
List
<
ReleaseDTO
>
find
(
@PathVariable
(
"appId"
)
String
appId
,
public
List
<
ReleaseDTO
>
find
(
@PathVariable
(
"appId"
)
String
appId
,
@PathVariable
(
"clusterName"
)
String
clusterName
,
@PathVariable
(
"clusterName"
)
String
clusterName
,
@PathVariable
(
"namespaceName"
)
String
namespaceName
)
{
@PathVariable
(
"namespaceName"
)
String
namespaceName
)
{
List
<
Release
>
releases
=
viewSeriv
ce
.
findReleases
(
appId
,
clusterName
,
namespaceName
);
List
<
Release
>
releases
=
releaseServi
ce
.
findReleases
(
appId
,
clusterName
,
namespaceName
);
return
BeanUtils
.
batchTransform
(
ReleaseDTO
.
class
,
releases
);
return
BeanUtils
.
batchTransform
(
ReleaseDTO
.
class
,
releases
);
}
}
...
...
apollo-adminservice/src/test/java/com/ctrip/apollo/adminservice/controller/AppControllerTest.java
View file @
bd3bfc09
...
@@ -23,6 +23,24 @@ public class AppControllerTest extends AbstractControllerTest {
...
@@ -23,6 +23,24 @@ public class AppControllerTest extends AbstractControllerTest {
return
"http://localhost:"
+
port
+
"/apps/"
;
return
"http://localhost:"
+
port
+
"/apps/"
;
}
}
@Test
public
void
testCheckIfAppIdUnique
()
{
AppDTO
dto
=
generateSampleDTOData
();
ResponseEntity
<
AppDTO
>
response
=
restTemplate
.
postForEntity
(
getBaseAppUrl
(),
dto
,
AppDTO
.
class
);
AppDTO
result
=
response
.
getBody
();
Assert
.
assertEquals
(
HttpStatus
.
OK
,
response
.
getStatusCode
());
Assert
.
assertEquals
(
dto
.
getAppId
(),
result
.
getAppId
());
Assert
.
assertTrue
(
result
.
getId
()
>
0
);
Boolean
falseUnique
=
restTemplate
.
getForObject
(
getBaseAppUrl
()
+
dto
.
getAppId
()
+
"/unique"
,
Boolean
.
class
);
Assert
.
assertFalse
(
falseUnique
);
Boolean
trueUnique
=
restTemplate
.
getForObject
(
getBaseAppUrl
()
+
dto
.
getAppId
()
+
"true"
+
"/unique"
,
Boolean
.
class
);
Assert
.
assertTrue
(
trueUnique
);
}
@Test
@Test
@Sql
(
scripts
=
"/controller/cleanup.sql"
,
executionPhase
=
ExecutionPhase
.
AFTER_TEST_METHOD
)
@Sql
(
scripts
=
"/controller/cleanup.sql"
,
executionPhase
=
ExecutionPhase
.
AFTER_TEST_METHOD
)
public
void
testCreate
()
{
public
void
testCreate
()
{
...
...
apollo-biz/src/main/java/com/ctrip/apollo/biz/repository/AppNamespaceRepository.java
View file @
bd3bfc09
...
@@ -6,4 +6,6 @@ import com.ctrip.apollo.biz.entity.AppNamespace;
...
@@ -6,4 +6,6 @@ import com.ctrip.apollo.biz.entity.AppNamespace;
public
interface
AppNamespaceRepository
extends
PagingAndSortingRepository
<
AppNamespace
,
Long
>{
public
interface
AppNamespaceRepository
extends
PagingAndSortingRepository
<
AppNamespace
,
Long
>{
AppNamespace
findByAppIdAndName
(
String
appId
,
String
namespaceName
);
}
}
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/AdminService.java
View file @
bd3bfc09
...
@@ -5,85 +5,36 @@ import org.springframework.stereotype.Service;
...
@@ -5,85 +5,36 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.ctrip.apollo.biz.entity.App
;
import
com.ctrip.apollo.biz.entity.App
;
import
com.ctrip.apollo.biz.entity.AppNamespace
;
import
com.ctrip.apollo.biz.entity.Audit
;
import
com.ctrip.apollo.biz.entity.Cluster
;
import
com.ctrip.apollo.biz.entity.Namespace
;
import
com.ctrip.apollo.biz.repository.AppNamespaceRepository
;
import
com.ctrip.apollo.biz.repository.AppRepository
;
import
com.ctrip.apollo.biz.repository.ClusterRepository
;
import
com.ctrip.apollo.biz.repository.NamespaceRepository
;
import
com.ctrip.apollo.core.ConfigConsts
;
@Service
@Service
public
class
AdminService
{
public
class
AdminService
{
@Autowired
@Autowired
private
App
Repository
appRepository
;
private
App
Service
appService
;
@Autowired
@Autowired
private
AppNamespace
Repository
appNamespaceRepository
;
private
AppNamespace
Service
appNamespaceService
;
@Autowired
@Autowired
private
NamespaceRepository
namespaceRepository
;
private
ClusterService
clusterService
;
@Autowired
@Autowired
private
ClusterRepository
clusterRepository
;
private
NamespaceService
namespaceService
;
@Autowired
private
AuditService
auditService
;
@Transactional
@Transactional
public
App
createNewApp
(
App
app
)
{
public
App
createNewApp
(
App
app
)
{
String
createBy
=
app
.
getDataChangeCreatedBy
();
String
createBy
=
app
.
getDataChangeCreatedBy
();
App
createdApp
=
appRepository
.
save
(
app
);
App
createdApp
=
appService
.
save
(
app
);
auditService
.
audit
(
App
.
class
.
getSimpleName
(),
createdApp
.
getId
(),
Audit
.
OP
.
INSERT
,
createBy
);
String
appId
=
createdApp
.
getAppId
();
String
appId
=
createdApp
.
getAppId
();
createDefaultAppNamespace
(
appId
,
createBy
);
appNamespaceService
.
createDefaultAppNamespace
(
appId
,
createBy
);
createDefaultCluster
(
appId
,
createBy
);
c
lusterService
.
c
reateDefaultCluster
(
appId
,
createBy
);
createDefaultNamespace
(
appId
,
createBy
);
namespaceService
.
createDefaultNamespace
(
appId
,
createBy
);
return
app
;
return
app
;
}
}
private
void
createDefaultAppNamespace
(
String
appId
,
String
createBy
)
{
AppNamespace
appNs
=
new
AppNamespace
();
appNs
.
setAppId
(
appId
);
appNs
.
setName
(
appId
);
appNs
.
setComment
(
"default app namespace"
);
appNs
.
setDataChangeCreatedBy
(
createBy
);
appNs
.
setDataChangeLastModifiedBy
(
createBy
);
appNamespaceRepository
.
save
(
appNs
);
auditService
.
audit
(
AppNamespace
.
class
.
getSimpleName
(),
appNs
.
getId
(),
Audit
.
OP
.
INSERT
,
createBy
);
}
private
void
createDefaultCluster
(
String
appId
,
String
createBy
)
{
Cluster
cluster
=
new
Cluster
();
cluster
.
setName
(
ConfigConsts
.
CLUSTER_NAME_DEFAULT
);
cluster
.
setAppId
(
appId
);
cluster
.
setDataChangeCreatedBy
(
createBy
);
cluster
.
setDataChangeLastModifiedBy
(
createBy
);
clusterRepository
.
save
(
cluster
);
auditService
.
audit
(
Cluster
.
class
.
getSimpleName
(),
cluster
.
getId
(),
Audit
.
OP
.
INSERT
,
createBy
);
}
private
void
createDefaultNamespace
(
String
appId
,
String
createBy
)
{
Namespace
ns
=
new
Namespace
();
ns
.
setAppId
(
appId
);
ns
.
setClusterName
(
ConfigConsts
.
CLUSTER_NAME_DEFAULT
);
ns
.
setNamespaceName
(
appId
);
ns
.
setDataChangeCreatedBy
(
createBy
);
ns
.
setDataChangeLastModifiedBy
(
createBy
);
namespaceRepository
.
save
(
ns
);
auditService
.
audit
(
Namespace
.
class
.
getSimpleName
(),
ns
.
getId
(),
Audit
.
OP
.
INSERT
,
createBy
);
}
}
}
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/AppNamespaceService.java
0 → 100644
View file @
bd3bfc09
package
com
.
ctrip
.
apollo
.
biz
.
service
;
import
java.util.Objects
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.ctrip.apollo.biz.entity.AppNamespace
;
import
com.ctrip.apollo.biz.entity.Audit
;
import
com.ctrip.apollo.biz.repository.AppNamespaceRepository
;
import
com.ctrip.apollo.core.exception.ServiceException
;
@Service
public
class
AppNamespaceService
{
@Autowired
private
AppNamespaceRepository
appNamespaceRepository
;
@Autowired
private
AuditService
auditService
;
public
boolean
isAppNamespaceNameUnique
(
String
appId
,
String
namespaceName
)
{
Objects
.
requireNonNull
(
appId
,
"AppId must not be null"
);
Objects
.
requireNonNull
(
namespaceName
,
"Namespace must not be null"
);
return
Objects
.
isNull
(
appNamespaceRepository
.
findByAppIdAndName
(
appId
,
namespaceName
));
}
@Transactional
public
void
createDefaultAppNamespace
(
String
appId
,
String
createBy
)
{
if
(!
isAppNamespaceNameUnique
(
appId
,
appId
))
{
throw
new
ServiceException
(
"appnamespace not unique"
);
}
AppNamespace
appNs
=
new
AppNamespace
();
appNs
.
setAppId
(
appId
);
appNs
.
setName
(
appId
);
appNs
.
setComment
(
"default app namespace"
);
appNs
.
setDataChangeCreatedBy
(
createBy
);
appNs
.
setDataChangeLastModifiedBy
(
createBy
);
appNamespaceRepository
.
save
(
appNs
);
auditService
.
audit
(
AppNamespace
.
class
.
getSimpleName
(),
appNs
.
getId
(),
Audit
.
OP
.
INSERT
,
createBy
);
}
}
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/AppService.java
View file @
bd3bfc09
package
com
.
ctrip
.
apollo
.
biz
.
service
;
package
com
.
ctrip
.
apollo
.
biz
.
service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
...
@@ -12,6 +13,7 @@ import com.ctrip.apollo.biz.entity.App;
...
@@ -12,6 +13,7 @@ import com.ctrip.apollo.biz.entity.App;
import
com.ctrip.apollo.biz.entity.Audit
;
import
com.ctrip.apollo.biz.entity.Audit
;
import
com.ctrip.apollo.biz.repository.AppRepository
;
import
com.ctrip.apollo.biz.repository.AppRepository
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.core.exception.ServiceException
;
@Service
@Service
public
class
AppService
{
public
class
AppService
{
...
@@ -22,6 +24,11 @@ public class AppService {
...
@@ -22,6 +24,11 @@ public class AppService {
@Autowired
@Autowired
private
AuditService
auditService
;
private
AuditService
auditService
;
public
boolean
isAppIdUnique
(
String
appId
)
{
Objects
.
requireNonNull
(
appId
,
"AppId must not be null"
);
return
Objects
.
isNull
(
appRepository
.
findByAppId
(
appId
));
}
@Transactional
@Transactional
public
void
delete
(
long
id
,
String
owner
)
{
public
void
delete
(
long
id
,
String
owner
)
{
appRepository
.
delete
(
id
);
appRepository
.
delete
(
id
);
...
@@ -44,6 +51,9 @@ public class AppService {
...
@@ -44,6 +51,9 @@ public class AppService {
@Transactional
@Transactional
public
App
save
(
App
entity
)
{
public
App
save
(
App
entity
)
{
if
(!
isAppIdUnique
(
entity
.
getAppId
()))
{
throw
new
ServiceException
(
"appId not unique"
);
}
App
app
=
appRepository
.
save
(
entity
);
App
app
=
appRepository
.
save
(
entity
);
auditService
.
audit
(
App
.
class
.
getSimpleName
(),
app
.
getId
(),
Audit
.
OP
.
INSERT
,
auditService
.
audit
(
App
.
class
.
getSimpleName
(),
app
.
getId
(),
Audit
.
OP
.
INSERT
,
...
...
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ClusterService.java
View file @
bd3bfc09
package
com
.
ctrip
.
apollo
.
biz
.
service
;
package
com
.
ctrip
.
apollo
.
biz
.
service
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Objects
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -8,6 +12,9 @@ import com.ctrip.apollo.biz.entity.Audit;
...
@@ -8,6 +12,9 @@ import com.ctrip.apollo.biz.entity.Audit;
import
com.ctrip.apollo.biz.entity.Cluster
;
import
com.ctrip.apollo.biz.entity.Cluster
;
import
com.ctrip.apollo.biz.repository.ClusterRepository
;
import
com.ctrip.apollo.biz.repository.ClusterRepository
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.core.ConfigConsts
;
import
com.ctrip.apollo.core.exception.ServiceException
;
import
com.google.common.base.Strings
;
@Service
@Service
public
class
ClusterService
{
public
class
ClusterService
{
...
@@ -18,12 +25,33 @@ public class ClusterService {
...
@@ -18,12 +25,33 @@ public class ClusterService {
@Autowired
@Autowired
private
AuditService
auditService
;
private
AuditService
auditService
;
public
boolean
isClusterNameUnique
(
String
appId
,
String
clusterName
)
{
Objects
.
requireNonNull
(
appId
,
"AppId must not be null"
);
Objects
.
requireNonNull
(
clusterName
,
"ClusterName must not be null"
);
return
Objects
.
isNull
(
clusterRepository
.
findByAppIdAndName
(
appId
,
clusterName
));
}
public
Cluster
findOne
(
String
appId
,
String
name
)
{
public
Cluster
findOne
(
String
appId
,
String
name
)
{
return
clusterRepository
.
findByAppIdAndName
(
appId
,
name
);
return
clusterRepository
.
findByAppIdAndName
(
appId
,
name
);
}
}
public
List
<
Cluster
>
findClusters
(
String
appId
)
{
if
(
Strings
.
isNullOrEmpty
(
appId
))
{
return
Collections
.
emptyList
();
}
List
<
Cluster
>
clusters
=
clusterRepository
.
findByAppId
(
appId
);
if
(
clusters
==
null
)
{
return
Collections
.
emptyList
();
}
return
clusters
;
}
@Transactional
@Transactional
public
Cluster
save
(
Cluster
entity
)
{
public
Cluster
save
(
Cluster
entity
)
{
if
(!
isClusterNameUnique
(
entity
.
getAppId
(),
entity
.
getName
()))
{
throw
new
ServiceException
(
"cluster not unique"
);
}
Cluster
cluster
=
clusterRepository
.
save
(
entity
);
Cluster
cluster
=
clusterRepository
.
save
(
entity
);
auditService
.
audit
(
Cluster
.
class
.
getSimpleName
(),
cluster
.
getId
(),
Audit
.
OP
.
INSERT
,
auditService
.
audit
(
Cluster
.
class
.
getSimpleName
(),
cluster
.
getId
(),
Audit
.
OP
.
INSERT
,
...
@@ -51,4 +79,19 @@ public class ClusterService {
...
@@ -51,4 +79,19 @@ public class ClusterService {
return
managedCluster
;
return
managedCluster
;
}
}
@Transactional
public
void
createDefaultCluster
(
String
appId
,
String
createBy
)
{
if
(!
isClusterNameUnique
(
appId
,
ConfigConsts
.
CLUSTER_NAME_DEFAULT
))
{
throw
new
ServiceException
(
"cluster not unique"
);
}
Cluster
cluster
=
new
Cluster
();
cluster
.
setName
(
ConfigConsts
.
CLUSTER_NAME_DEFAULT
);
cluster
.
setAppId
(
appId
);
cluster
.
setDataChangeCreatedBy
(
createBy
);
cluster
.
setDataChangeLastModifiedBy
(
createBy
);
clusterRepository
.
save
(
cluster
);
auditService
.
audit
(
Cluster
.
class
.
getSimpleName
(),
cluster
.
getId
(),
Audit
.
OP
.
INSERT
,
createBy
);
}
}
}
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ItemService.java
View file @
bd3bfc09
package
com
.
ctrip
.
apollo
.
biz
.
service
;
package
com
.
ctrip
.
apollo
.
biz
.
service
;
import
java.util.Collections
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -47,6 +50,24 @@ public class ItemService {
...
@@ -47,6 +50,24 @@ public class ItemService {
return
item
;
return
item
;
}
}
public
List
<
Item
>
findItems
(
Long
namespaceId
)
{
List
<
Item
>
items
=
itemRepository
.
findByNamespaceIdOrderByLineNumAsc
(
namespaceId
);
if
(
items
==
null
)
{
return
Collections
.
emptyList
();
}
return
items
;
}
public
List
<
Item
>
findItems
(
String
appId
,
String
clusterName
,
String
namespaceName
)
{
Namespace
group
=
namespaceRepository
.
findByAppIdAndClusterNameAndNamespaceName
(
appId
,
clusterName
,
namespaceName
);
if
(
group
!=
null
)
{
return
findItems
(
group
.
getId
());
}
else
{
return
Collections
.
emptyList
();
}
}
@Transactional
@Transactional
public
Item
save
(
Item
entity
)
{
public
Item
save
(
Item
entity
)
{
Item
item
=
itemRepository
.
save
(
entity
);
Item
item
=
itemRepository
.
save
(
entity
);
...
...
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/NamespaceService.java
View file @
bd3bfc09
package
com
.
ctrip
.
apollo
.
biz
.
service
;
package
com
.
ctrip
.
apollo
.
biz
.
service
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Objects
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -8,6 +12,8 @@ import com.ctrip.apollo.biz.entity.Audit;
...
@@ -8,6 +12,8 @@ import com.ctrip.apollo.biz.entity.Audit;
import
com.ctrip.apollo.biz.entity.Namespace
;
import
com.ctrip.apollo.biz.entity.Namespace
;
import
com.ctrip.apollo.biz.repository.NamespaceRepository
;
import
com.ctrip.apollo.biz.repository.NamespaceRepository
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.common.utils.BeanUtils
;
import
com.ctrip.apollo.core.ConfigConsts
;
import
com.ctrip.apollo.core.exception.ServiceException
;
@Service
@Service
public
class
NamespaceService
{
public
class
NamespaceService
{
...
@@ -18,6 +24,14 @@ public class NamespaceService {
...
@@ -18,6 +24,14 @@ public class NamespaceService {
@Autowired
@Autowired
private
AuditService
auditService
;
private
AuditService
auditService
;
public
boolean
isNamespaceUnique
(
String
appId
,
String
cluster
,
String
namespace
)
{
Objects
.
requireNonNull
(
appId
,
"AppId must not be null"
);
Objects
.
requireNonNull
(
cluster
,
"Cluster must not be null"
);
Objects
.
requireNonNull
(
namespace
,
"Namespace must not be null"
);
return
Objects
.
isNull
(
namespaceRepository
.
findByAppIdAndClusterNameAndNamespaceName
(
appId
,
cluster
,
namespace
));
}
@Transactional
@Transactional
public
void
delete
(
long
id
,
String
owner
)
{
public
void
delete
(
long
id
,
String
owner
)
{
namespaceRepository
.
delete
(
id
);
namespaceRepository
.
delete
(
id
);
...
@@ -34,8 +48,19 @@ public class NamespaceService {
...
@@ -34,8 +48,19 @@ public class NamespaceService {
namespaceName
);
namespaceName
);
}
}
public
List
<
Namespace
>
findNamespaces
(
String
appId
,
String
clusterName
)
{
List
<
Namespace
>
groups
=
namespaceRepository
.
findByAppIdAndClusterName
(
appId
,
clusterName
);
if
(
groups
==
null
)
{
return
Collections
.
emptyList
();
}
return
groups
;
}
@Transactional
@Transactional
public
Namespace
save
(
Namespace
entity
)
{
public
Namespace
save
(
Namespace
entity
)
{
if
(!
isNamespaceUnique
(
entity
.
getAppId
(),
entity
.
getClusterName
(),
entity
.
getNamespaceName
()))
{
throw
new
ServiceException
(
"namespace not unique"
);
}
Namespace
namespace
=
namespaceRepository
.
save
(
entity
);
Namespace
namespace
=
namespaceRepository
.
save
(
entity
);
auditService
.
audit
(
Namespace
.
class
.
getSimpleName
(),
namespace
.
getId
(),
Audit
.
OP
.
INSERT
,
auditService
.
audit
(
Namespace
.
class
.
getSimpleName
(),
namespace
.
getId
(),
Audit
.
OP
.
INSERT
,
...
@@ -53,7 +78,24 @@ public class NamespaceService {
...
@@ -53,7 +78,24 @@ public class NamespaceService {
auditService
.
audit
(
Namespace
.
class
.
getSimpleName
(),
managedNamespace
.
getId
(),
Audit
.
OP
.
UPDATE
,
auditService
.
audit
(
Namespace
.
class
.
getSimpleName
(),
managedNamespace
.
getId
(),
Audit
.
OP
.
UPDATE
,
managedNamespace
.
getDataChangeLastModifiedBy
());
managedNamespace
.
getDataChangeLastModifiedBy
());
return
managedNamespace
;
return
managedNamespace
;
}
}
@Transactional
public
void
createDefaultNamespace
(
String
appId
,
String
createBy
)
{
if
(!
isNamespaceUnique
(
appId
,
ConfigConsts
.
CLUSTER_NAME_DEFAULT
,
appId
))
{
throw
new
ServiceException
(
"namespace not unique"
);
}
Namespace
ns
=
new
Namespace
();
ns
.
setAppId
(
appId
);
ns
.
setClusterName
(
ConfigConsts
.
CLUSTER_NAME_DEFAULT
);
ns
.
setNamespaceName
(
appId
);
ns
.
setDataChangeCreatedBy
(
createBy
);
ns
.
setDataChangeLastModifiedBy
(
createBy
);
namespaceRepository
.
save
(
ns
);
auditService
.
audit
(
Namespace
.
class
.
getSimpleName
(),
ns
.
getId
(),
Audit
.
OP
.
INSERT
,
createBy
);
}
}
}
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ReleaseService.java
View file @
bd3bfc09
package
com
.
ctrip
.
apollo
.
biz
.
service
;
package
com
.
ctrip
.
apollo
.
biz
.
service
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -40,6 +41,15 @@ public class ReleaseService {
...
@@ -40,6 +41,15 @@ public class ReleaseService {
return
release
;
return
release
;
}
}
public
List
<
Release
>
findReleases
(
String
appId
,
String
clusterName
,
String
namespaceName
)
{
List
<
Release
>
releases
=
releaseRepository
.
findByAppIdAndClusterNameAndNamespaceName
(
appId
,
clusterName
,
namespaceName
);
if
(
releases
==
null
)
{
return
Collections
.
emptyList
();
}
return
releases
;
}
@Transactional
@Transactional
public
Release
buildRelease
(
String
name
,
String
comment
,
Namespace
namespace
,
String
owner
)
{
public
Release
buildRelease
(
String
name
,
String
comment
,
Namespace
namespace
,
String
owner
)
{
List
<
Item
>
items
=
itemRepository
.
findByNamespaceIdOrderByLineNumAsc
(
namespace
.
getId
());
List
<
Item
>
items
=
itemRepository
.
findByNamespaceIdOrderByLineNumAsc
(
namespace
.
getId
());
...
...
apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ViewService.java
deleted
100644 → 0
View file @
cb993369
package
com
.
ctrip
.
apollo
.
biz
.
service
;
import
java.util.Collections
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.ctrip.apollo.biz.entity.Cluster
;
import
com.ctrip.apollo.biz.entity.Namespace
;
import
com.ctrip.apollo.biz.entity.Item
;
import
com.ctrip.apollo.biz.entity.Release
;
import
com.ctrip.apollo.biz.repository.ClusterRepository
;
import
com.ctrip.apollo.biz.repository.NamespaceRepository
;
import
com.ctrip.apollo.biz.repository.ItemRepository
;
import
com.ctrip.apollo.biz.repository.ReleaseRepository
;
import
com.google.common.base.Strings
;
/**
* config service for admin
*/
@Service
public
class
ViewService
{
@Autowired
private
ClusterRepository
clusterRepository
;
@Autowired
private
NamespaceRepository
namespaceRepository
;
@Autowired
private
ItemRepository
itemRepository
;
@Autowired
private
ReleaseRepository
releaseRepository
;
public
List
<
Cluster
>
findClusters
(
String
appId
)
{
if
(
Strings
.
isNullOrEmpty
(
appId
))
{
return
Collections
.
emptyList
();
}
List
<
Cluster
>
clusters
=
clusterRepository
.
findByAppId
(
appId
);
if
(
clusters
==
null
)
{
return
Collections
.
emptyList
();
}
return
clusters
;
}
public
List
<
Namespace
>
findNamespaces
(
String
appId
,
String
clusterName
)
{
List
<
Namespace
>
groups
=
namespaceRepository
.
findByAppIdAndClusterName
(
appId
,
clusterName
);
if
(
groups
==
null
)
{
return
Collections
.
emptyList
();
}
return
groups
;
}
public
List
<
Item
>
findItems
(
String
appId
,
String
clusterName
,
String
namespaceName
)
{
Namespace
group
=
namespaceRepository
.
findByAppIdAndClusterNameAndNamespaceName
(
appId
,
clusterName
,
namespaceName
);
if
(
group
!=
null
)
{
return
findItems
(
group
.
getId
());
}
else
{
return
Collections
.
emptyList
();
}
}
public
List
<
Item
>
findItems
(
Long
namespaceId
)
{
List
<
Item
>
items
=
itemRepository
.
findByNamespaceIdOrderByLineNumAsc
(
namespaceId
);
if
(
items
==
null
)
{
return
Collections
.
emptyList
();
}
return
items
;
}
public
List
<
Release
>
findReleases
(
String
appId
,
String
clusterName
,
String
namespaceName
)
{
List
<
Release
>
releases
=
releaseRepository
.
findByAppIdAndClusterNameAndNamespaceName
(
appId
,
clusterName
,
namespaceName
);
if
(
releases
==
null
)
{
return
Collections
.
emptyList
();
}
return
releases
;
}
}
apollo-biz/src/test/java/com/ctrip/apollo/biz/service/AdminServiceTest.java
View file @
bd3bfc09
...
@@ -17,7 +17,9 @@ import com.ctrip.apollo.biz.entity.App;
...
@@ -17,7 +17,9 @@ import com.ctrip.apollo.biz.entity.App;
import
com.ctrip.apollo.biz.entity.Audit
;
import
com.ctrip.apollo.biz.entity.Audit
;
import
com.ctrip.apollo.biz.entity.Cluster
;
import
com.ctrip.apollo.biz.entity.Cluster
;
import
com.ctrip.apollo.biz.entity.Namespace
;
import
com.ctrip.apollo.biz.entity.Namespace
;
import
com.ctrip.apollo.biz.repository.AppRepository
;
import
com.ctrip.apollo.core.ConfigConsts
;
import
com.ctrip.apollo.core.ConfigConsts
;
import
com.ctrip.apollo.core.exception.ServiceException
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringApplicationConfiguration
(
classes
=
BizTestConfiguration
.
class
)
@SpringApplicationConfiguration
(
classes
=
BizTestConfiguration
.
class
)
...
@@ -29,10 +31,16 @@ public class AdminServiceTest {
...
@@ -29,10 +31,16 @@ public class AdminServiceTest {
private
AdminService
adminService
;
private
AdminService
adminService
;
@Autowired
@Autowired
private
ViewService
view
Service
;
private
AuditService
audit
Service
;
@Autowired
@Autowired
private
AuditService
auditService
;
private
AppRepository
appRepository
;
@Autowired
private
ClusterService
clsuterService
;
@Autowired
private
NamespaceService
namespaceService
;
@Test
@Test
public
void
testCreateNewApp
()
{
public
void
testCreateNewApp
()
{
...
@@ -50,11 +58,11 @@ public class AdminServiceTest {
...
@@ -50,11 +58,11 @@ public class AdminServiceTest {
app
=
adminService
.
createNewApp
(
app
);
app
=
adminService
.
createNewApp
(
app
);
Assert
.
assertEquals
(
appId
,
app
.
getAppId
());
Assert
.
assertEquals
(
appId
,
app
.
getAppId
());
List
<
Cluster
>
clusters
=
view
Service
.
findClusters
(
app
.
getAppId
());
List
<
Cluster
>
clusters
=
clsuter
Service
.
findClusters
(
app
.
getAppId
());
Assert
.
assertEquals
(
1
,
clusters
.
size
());
Assert
.
assertEquals
(
1
,
clusters
.
size
());
Assert
.
assertEquals
(
ConfigConsts
.
CLUSTER_NAME_DEFAULT
,
clusters
.
get
(
0
).
getName
());
Assert
.
assertEquals
(
ConfigConsts
.
CLUSTER_NAME_DEFAULT
,
clusters
.
get
(
0
).
getName
());
List
<
Namespace
>
namespaces
=
view
Service
.
findNamespaces
(
appId
,
clusters
.
get
(
0
).
getName
());
List
<
Namespace
>
namespaces
=
namespace
Service
.
findNamespaces
(
appId
,
clusters
.
get
(
0
).
getName
());
Assert
.
assertEquals
(
1
,
namespaces
.
size
());
Assert
.
assertEquals
(
1
,
namespaces
.
size
());
Assert
.
assertEquals
(
appId
,
namespaces
.
get
(
0
).
getNamespaceName
());
Assert
.
assertEquals
(
appId
,
namespaces
.
get
(
0
).
getNamespaceName
());
...
@@ -62,4 +70,22 @@ public class AdminServiceTest {
...
@@ -62,4 +70,22 @@ public class AdminServiceTest {
Assert
.
assertEquals
(
4
,
audits
.
size
());
Assert
.
assertEquals
(
4
,
audits
.
size
());
}
}
@Test
(
expected
=
ServiceException
.
class
)
public
void
testCreateDuplicateApp
()
{
String
appId
=
"someAppId"
;
App
app
=
new
App
();
app
.
setAppId
(
appId
);
app
.
setName
(
"someAppName"
);
String
owner
=
"someOwnerName"
;
app
.
setOwnerName
(
owner
);
app
.
setOwnerEmail
(
"someOwnerName@ctrip.com"
);
app
.
setDataChangeCreatedBy
(
owner
);
app
.
setDataChangeLastModifiedBy
(
owner
);
app
.
setDataChangeCreatedTime
(
new
Date
());
appRepository
.
save
(
app
);
adminService
.
createNewApp
(
app
);
}
}
}
apollo-biz/src/test/java/com/ctrip/apollo/biz/service/ClusterServiceTest.java
0 → 100644
View file @
bd3bfc09
package
com
.
ctrip
.
apollo
.
biz
.
service
;
import
java.util.Date
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.SpringApplicationConfiguration
;
import
org.springframework.test.annotation.Rollback
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.ctrip.apollo.biz.BizTestConfiguration
;
import
com.ctrip.apollo.biz.entity.App
;
import
com.ctrip.apollo.core.exception.ServiceException
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringApplicationConfiguration
(
classes
=
BizTestConfiguration
.
class
)
@Transactional
@Rollback
public
class
ClusterServiceTest
{
@Autowired
private
AdminService
adminService
;
@Autowired
private
ClusterService
clusterService
;
@Test
(
expected
=
ServiceException
.
class
)
public
void
testCreateDuplicateCluster
()
{
String
appId
=
"someAppId"
;
App
app
=
new
App
();
app
.
setAppId
(
appId
);
app
.
setName
(
"someAppName"
);
String
owner
=
"someOwnerName"
;
app
.
setOwnerName
(
owner
);
app
.
setOwnerEmail
(
"someOwnerName@ctrip.com"
);
app
.
setDataChangeCreatedBy
(
owner
);
app
.
setDataChangeLastModifiedBy
(
owner
);
app
.
setDataChangeCreatedTime
(
new
Date
());
adminService
.
createNewApp
(
app
);
clusterService
.
createDefaultCluster
(
appId
,
owner
);
}
}
apollo-biz/src/test/java/com/ctrip/apollo/biz/service/PrivilegeServiceTest.java
View file @
bd3bfc09
...
@@ -28,8 +28,11 @@ public class PrivilegeServiceTest {
...
@@ -28,8 +28,11 @@ public class PrivilegeServiceTest {
private
AdminService
adminService
;
private
AdminService
adminService
;
@Autowired
@Autowired
private
ViewService
view
Service
;
private
ClusterService
cluster
Service
;
@Autowired
private
NamespaceService
namespaceService
;
@Autowired
@Autowired
private
PrivilegeService
privilService
;
private
PrivilegeService
privilService
;
...
@@ -46,9 +49,9 @@ public class PrivilegeServiceTest {
...
@@ -46,9 +49,9 @@ public class PrivilegeServiceTest {
app
.
setDataChangeCreatedTime
(
new
Date
());
app
.
setDataChangeCreatedTime
(
new
Date
());
App
newApp
=
adminService
.
createNewApp
(
app
);
App
newApp
=
adminService
.
createNewApp
(
app
);
List
<
Cluster
>
clusters
=
view
Service
.
findClusters
(
newApp
.
getAppId
());
List
<
Cluster
>
clusters
=
cluster
Service
.
findClusters
(
newApp
.
getAppId
());
List
<
Namespace
>
namespaces
=
List
<
Namespace
>
namespaces
=
view
Service
.
findNamespaces
(
newApp
.
getAppId
(),
clusters
.
get
(
0
).
getName
());
namespace
Service
.
findNamespaces
(
newApp
.
getAppId
(),
clusters
.
get
(
0
).
getName
());
Namespace
namespace
=
namespaces
.
get
(
0
);
Namespace
namespace
=
namespaces
.
get
(
0
);
privilService
.
addPrivilege
(
namespace
.
getId
(),
newApp
.
getOwnerName
(),
privilService
.
addPrivilege
(
namespace
.
getId
(),
newApp
.
getOwnerName
(),
...
@@ -76,9 +79,9 @@ public class PrivilegeServiceTest {
...
@@ -76,9 +79,9 @@ public class PrivilegeServiceTest {
app
.
setDataChangeLastModifiedBy
(
owner
);
app
.
setDataChangeLastModifiedBy
(
owner
);
app
.
setDataChangeCreatedTime
(
new
Date
());
app
.
setDataChangeCreatedTime
(
new
Date
());
App
newApp
=
adminService
.
createNewApp
(
app
);
App
newApp
=
adminService
.
createNewApp
(
app
);
List
<
Cluster
>
clusters
=
view
Service
.
findClusters
(
newApp
.
getAppId
());
List
<
Cluster
>
clusters
=
cluster
Service
.
findClusters
(
newApp
.
getAppId
());
List
<
Namespace
>
namespaces
=
List
<
Namespace
>
namespaces
=
view
Service
.
findNamespaces
(
newApp
.
getAppId
(),
clusters
.
get
(
0
).
getName
());
namespace
Service
.
findNamespaces
(
newApp
.
getAppId
(),
clusters
.
get
(
0
).
getName
());
Namespace
namespace
=
namespaces
.
get
(
0
);
Namespace
namespace
=
namespaces
.
get
(
0
);
privilService
.
addPrivilege
(
namespace
.
getId
(),
newApp
.
getOwnerName
(),
privilService
.
addPrivilege
(
namespace
.
getId
(),
newApp
.
getOwnerName
(),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment