Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
凌波微步_大先生
dashboard
提交
d19f8028
D
dashboard
项目概览
凌波微步_大先生
/
dashboard
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dashboard
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d19f8028
编写于
5月 23, 2016
作者:
P
Piotr Bryk
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Singularize api endpoints and urls (#763)
Applies to: #719
上级
76ea2396
变更
54
隐藏空白更改
内联
并排
Showing
54 changed file
with
150 addition
and
219 deletion
+150
-219
src/app/backend/handler/apihandler.go
src/app/backend/handler/apihandler.go
+66
-136
src/app/frontend/chrome/chrome.html
src/app/frontend/chrome/chrome.html
+1
-1
src/app/frontend/deploy/createnamespace_controller.js
src/app/frontend/deploy/createnamespace_controller.js
+1
-1
src/app/frontend/deploy/createsecret_controller.js
src/app/frontend/deploy/createsecret_controller.js
+1
-1
src/app/frontend/deploy/deploy_stateconfig.js
src/app/frontend/deploy/deploy_stateconfig.js
+2
-2
src/app/frontend/deploy/deployfromsettings_controller.js
src/app/frontend/deploy/deployfromsettings_controller.js
+2
-2
src/app/frontend/deploy/uniquename_directive.js
src/app/frontend/deploy/uniquename_directive.js
+1
-1
src/app/frontend/deploy/validimagereference_directive.js
src/app/frontend/deploy/validimagereference_directive.js
+1
-1
src/app/frontend/deploy/validprotocol_directive.js
src/app/frontend/deploy/validprotocol_directive.js
+1
-1
src/app/frontend/deploymentdetail/deploymentdetail_stateconfig.js
...frontend/deploymentdetail/deploymentdetail_stateconfig.js
+1
-1
src/app/frontend/deploymentlist/deploymentlist_state.js
src/app/frontend/deploymentlist/deploymentlist_state.js
+2
-2
src/app/frontend/deploymentlist/deploymentlist_stateconfig.js
...app/frontend/deploymentlist/deploymentlist_stateconfig.js
+1
-1
src/app/frontend/logs/logs_state.js
src/app/frontend/logs/logs_state.js
+1
-1
src/app/frontend/logs/logs_stateconfig.js
src/app/frontend/logs/logs_stateconfig.js
+3
-3
src/app/frontend/poddetail/poddetail_stateconfig.js
src/app/frontend/poddetail/poddetail_stateconfig.js
+1
-1
src/app/frontend/podlist/podlist_state.js
src/app/frontend/podlist/podlist_state.js
+2
-2
src/app/frontend/podlist/podlist_stateconfig.js
src/app/frontend/podlist/podlist_stateconfig.js
+1
-1
src/app/frontend/replicasetdetail/replicasetdetail_stateconfig.js
...frontend/replicasetdetail/replicasetdetail_stateconfig.js
+1
-1
src/app/frontend/replicasetlist/replicasetlist_state.js
src/app/frontend/replicasetlist/replicasetlist_state.js
+2
-2
src/app/frontend/replicasetlist/replicasetlist_stateconfig.js
...app/frontend/replicasetlist/replicasetlist_stateconfig.js
+1
-1
src/app/frontend/replicationcontrollerdetail/replicationcontrollerdetail_stateconfig.js
...ntrollerdetail/replicationcontrollerdetail_stateconfig.js
+5
-5
src/app/frontend/replicationcontrollerlist/podlogsmenu_component.js
...ontend/replicationcontrollerlist/podlogsmenu_component.js
+1
-1
src/app/frontend/replicationcontrollerlist/replicationcontrollerlist_state.js
...licationcontrollerlist/replicationcontrollerlist_state.js
+2
-2
src/app/frontend/replicationcontrollerlist/replicationcontrollerlist_stateconfig.js
...oncontrollerlist/replicationcontrollerlist_stateconfig.js
+1
-1
src/app/frontend/servicedetail/servicedetail_stateconfig.js
src/app/frontend/servicedetail/servicedetail_stateconfig.js
+1
-1
src/app/frontend/servicelist/servicelist_state.js
src/app/frontend/servicelist/servicelist_state.js
+2
-2
src/app/frontend/servicelist/servicelist_stateconfig.js
src/app/frontend/servicelist/servicelist_stateconfig.js
+1
-1
src/app/frontend/workloads/workloads.html
src/app/frontend/workloads/workloads.html
+4
-4
src/app/frontend/workloads/workloads_state.js
src/app/frontend/workloads/workloads_state.js
+2
-2
src/app/frontend/workloads/workloads_stateconfig.js
src/app/frontend/workloads/workloads_stateconfig.js
+1
-1
src/test/frontend/deploy/createnamespace_controller_test.js
src/test/frontend/deploy/createnamespace_controller_test.js
+1
-1
src/test/frontend/deploy/createsecret_controller_test.js
src/test/frontend/deploy/createsecret_controller_test.js
+2
-2
src/test/frontend/deploy/deployfromsettings_controller_test.js
...est/frontend/deploy/deployfromsettings_controller_test.js
+1
-1
src/test/frontend/deploy/uniquename_directive_test.js
src/test/frontend/deploy/uniquename_directive_test.js
+3
-3
src/test/frontend/deploy/validimagereference_directive_test.js
...est/frontend/deploy/validimagereference_directive_test.js
+2
-2
src/test/frontend/deploy/validprotocol_directive_test.js
src/test/frontend/deploy/validprotocol_directive_test.js
+3
-3
src/test/frontend/deploymentlist/deploymentcard_component_test.js
.../frontend/deploymentlist/deploymentcard_component_test.js
+1
-1
src/test/frontend/deploymentlist/deploymentlist_stateconfig_test.js
...rontend/deploymentlist/deploymentlist_stateconfig_test.js
+1
-1
src/test/frontend/podlist/podcardlist_component_test.js
src/test/frontend/podlist/podcardlist_component_test.js
+1
-1
src/test/frontend/podlist/podlist_stateconfig_test.js
src/test/frontend/podlist/podlist_stateconfig_test.js
+1
-1
src/test/frontend/replicasetlist/replicasetcard_component_test.js
.../frontend/replicasetlist/replicasetcard_component_test.js
+1
-1
src/test/frontend/replicasetlist/replicasetlist_stateconfig_test.js
...rontend/replicasetlist/replicasetlist_stateconfig_test.js
+1
-1
src/test/frontend/replicationcontrollerdetail/replicationcontrollerdetail_controller_test.js
...llerdetail/replicationcontrollerdetail_controller_test.js
+1
-1
src/test/frontend/replicationcontrollerdetail/updatereplicas_controller_test.js
...icationcontrollerdetail/updatereplicas_controller_test.js
+2
-2
src/test/frontend/replicationcontrollerlist/podlogsmenu_component_test.js
...d/replicationcontrollerlist/podlogsmenu_component_test.js
+4
-3
src/test/frontend/replicationcontrollerlist/replicationcontrollercard_component_test.js
...ontrollerlist/replicationcontrollercard_component_test.js
+1
-1
src/test/frontend/replicationcontrollerlist/replicationcontrollerlist_stateconfig_test.js
...trollerlist/replicationcontrollerlist_stateconfig_test.js
+1
-1
src/test/frontend/servicelist/servicecardlist_component_test.js
...st/frontend/servicelist/servicecardlist_component_test.js
+1
-1
src/test/frontend/workloads/workloads_stateconfig_test.js
src/test/frontend/workloads/workloads_stateconfig_test.js
+1
-1
src/test/integration/replicationcontrollerdetail/replicationcontrollerdetail_po.js
...icationcontrollerdetail/replicationcontrollerdetail_po.js
+1
-1
src/test/integration/replicationcontrollerslist/replicationcontrollers_po.js
...n/replicationcontrollerslist/replicationcontrollers_po.js
+1
-1
src/test/integration/stories/deploy_and_delete_replication_controller.js
...ation/stories/deploy_and_delete_replication_controller.js
+1
-1
src/test/integration/stories/deploy_from_valid_file_test.js
src/test/integration/stories/deploy_from_valid_file_test.js
+2
-2
src/test/integration/stories/deploy_not_existing_img_test.js
src/test/integration/stories/deploy_not_existing_img_test.js
+4
-4
未找到文件。
src/app/backend/handler/apihandler.go
浏览文件 @
d19f8028
...
...
@@ -89,220 +89,150 @@ func CreateHttpApiHandler(client *client.Client, heapsterClient HeapsterClient,
apiHandler
:=
ApiHandler
{
client
,
heapsterClient
,
clientConfig
,
verber
}
wsContainer
:=
restful
.
NewContainer
()
deploy
Ws
:=
new
(
restful
.
WebService
)
deploy
Ws
.
Filter
(
wsLogger
)
deployWs
.
Path
(
"/api/v1/appdeployments
"
)
.
apiV1
Ws
:=
new
(
restful
.
WebService
)
apiV1
Ws
.
Filter
(
wsLogger
)
apiV1Ws
.
Path
(
"/api/v1
"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
deployWs
.
Route
(
deployWs
.
POST
(
""
)
.
wsContainer
.
Add
(
apiV1Ws
)
apiV1Ws
.
Route
(
apiV1Ws
.
POST
(
"/appdeployment"
)
.
To
(
apiHandler
.
handleDeploy
)
.
Reads
(
AppDeploymentSpec
{})
.
Writes
(
AppDeploymentSpec
{}))
deploy
Ws
.
Route
(
deployWs
.
POST
(
"
/validate/name"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
POST
(
"/appdeployment
/validate/name"
)
.
To
(
apiHandler
.
handleNameValidity
)
.
Reads
(
AppNameValiditySpec
{})
.
Writes
(
AppNameValidity
{}))
deploy
Ws
.
Route
(
deployWs
.
POST
(
"
/validate/imagereference"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
POST
(
"/appdeployment
/validate/imagereference"
)
.
To
(
apiHandler
.
handleImageReferenceValidity
)
.
Reads
(
ImageReferenceValiditySpec
{})
.
Writes
(
ImageReferenceValidity
{}))
deploy
Ws
.
Route
(
deployWs
.
POST
(
"
/validate/protocol"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
POST
(
"/appdeployment
/validate/protocol"
)
.
To
(
apiHandler
.
handleProtocolValidity
)
.
Reads
(
ProtocolValiditySpec
{})
.
Writes
(
ProtocolValidity
{}))
deploy
Ws
.
Route
(
deployWs
.
GET
(
"
/protocols"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/appdeployment
/protocols"
)
.
To
(
apiHandler
.
handleGetAvailableProcotols
)
.
Writes
(
Protocols
{}))
wsContainer
.
Add
(
deployWs
)
deployFromFileWs
:=
new
(
restful
.
WebService
)
deployFromFileWs
.
Path
(
"/api/v1/appdeploymentfromfile"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
deployFromFileWs
.
Route
(
deployFromFileWs
.
POST
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
POST
(
"/appdeploymentfromfile"
)
.
To
(
apiHandler
.
handleDeployFromFile
)
.
Reads
(
AppDeploymentFromFileSpec
{})
.
Writes
(
AppDeploymentFromFileResponse
{}))
wsContainer
.
Add
(
deployFromFileWs
)
replicationControllerWs
:=
new
(
restful
.
WebService
)
replicationControllerWs
.
Filter
(
wsLogger
)
replicationControllerWs
.
Path
(
"/api/v1/replicationcontrollers"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
replicationControllerWs
.
Route
(
replicationControllerWs
.
GET
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/replicationcontroller"
)
.
To
(
apiHandler
.
handleGetReplicationControllerList
)
.
Writes
(
ReplicationControllerList
{}))
replicationController
Ws
.
Route
(
replicationControllerWs
.
GET
(
"
/{namespace}/{replicationController}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/replicationcontroller
/{namespace}/{replicationController}"
)
.
To
(
apiHandler
.
handleGetReplicationControllerDetail
)
.
Writes
(
ReplicationControllerDetail
{}))
replicationController
Ws
.
Route
(
replicationControllerWs
.
POST
(
"/{namespace}/{replicationController}/update/pods
"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
POST
(
"/replicationcontroller/{namespace}/{replicationController}/update/pod
"
)
.
To
(
apiHandler
.
handleUpdateReplicasCount
)
.
Reads
(
ReplicationControllerSpec
{}))
replicationController
Ws
.
Route
(
replicationControllerWs
.
DELETE
(
"
/{namespace}/{replicationController}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
DELETE
(
"/replicationcontroller
/{namespace}/{replicationController}"
)
.
To
(
apiHandler
.
handleDeleteReplicationController
))
replicationController
Ws
.
Route
(
replicationControllerWs
.
GET
(
"/pods
/{namespace}/{replicationController}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/replicationcontroller/pod
/{namespace}/{replicationController}"
)
.
To
(
apiHandler
.
handleGetReplicationControllerPods
)
.
Writes
(
ReplicationControllerPods
{}))
wsContainer
.
Add
(
replicationControllerWs
)
workloadsWs
:=
new
(
restful
.
WebService
)
workloadsWs
.
Filter
(
wsLogger
)
workloadsWs
.
Path
(
"/api/v1/workloads"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
workloadsWs
.
Route
(
workloadsWs
.
GET
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/workload"
)
.
To
(
apiHandler
.
handleGetWorkloads
)
.
Writes
(
workload
.
Workloads
{}))
wsContainer
.
Add
(
workloadsWs
)
replicaSetsWs
:=
new
(
restful
.
WebService
)
replicaSetsWs
.
Filter
(
wsLogger
)
replicaSetsWs
.
Path
(
"/api/v1/replicasets"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
replicaSetsWs
.
Route
(
replicaSetsWs
.
GET
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/replicaset"
)
.
To
(
apiHandler
.
handleGetReplicaSets
)
.
Writes
(
replicaset
.
ReplicaSetList
{}))
replicaSets
Ws
.
Route
(
replicaSetsWs
.
GET
(
"
/{namespace}/{replicaSet}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/replicaset
/{namespace}/{replicaSet}"
)
.
To
(
apiHandler
.
handleGetReplicaSetDetail
)
.
Writes
(
replicaset
.
ReplicaSetDetail
{}))
wsContainer
.
Add
(
replicaSetsWs
)
podsWs
:=
new
(
restful
.
WebService
)
podsWs
.
Filter
(
wsLogger
)
podsWs
.
Path
(
"/api/v1/pods"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
podsWs
.
Route
(
podsWs
.
GET
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/pod"
)
.
To
(
apiHandler
.
handleGetPods
)
.
Writes
(
pod
.
PodList
{}))
pods
Ws
.
Route
(
podsWs
.
GET
(
"
/{namespace}/{pod}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/pod
/{namespace}/{pod}"
)
.
To
(
apiHandler
.
handleGetPodDetail
)
.
Writes
(
pod
.
PodDetail
{}))
wsContainer
.
Add
(
podsWs
)
deploymentsWs
:=
new
(
restful
.
WebService
)
deploymentsWs
.
Filter
(
wsLogger
)
deploymentsWs
.
Path
(
"/api/v1/deployments"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
deploymentsWs
.
Route
(
deploymentsWs
.
GET
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/deployment"
)
.
To
(
apiHandler
.
handleGetDeployments
)
.
Writes
(
deployment
.
DeploymentList
{}))
wsContainer
.
Add
(
deploymentsWs
)
daemonSetWs
:=
new
(
restful
.
WebService
)
daemonSetWs
.
Filter
(
wsLogger
)
daemonSetWs
.
Path
(
"/api/v1/daemonsets"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
daemonSetWs
.
Route
(
daemonSetWs
.
GET
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/daemonset"
)
.
To
(
apiHandler
.
handleGetDaemonSetList
)
.
Writes
(
daemonset
.
DaemonSetList
{}))
daemonSet
Ws
.
Route
(
daemonSetWs
.
GET
(
"
/{namespace}/{daemonSet}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/daemonset
/{namespace}/{daemonSet}"
)
.
To
(
apiHandler
.
handleGetDaemonSetDetail
)
.
Writes
(
daemonset
.
DaemonSetDetail
{}))
daemonSet
Ws
.
Route
(
daemonSetWs
.
DELETE
(
"
/{namespace}/{daemonSet}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
DELETE
(
"/daemonset
/{namespace}/{daemonSet}"
)
.
To
(
apiHandler
.
handleDeleteDaemonSet
))
wsContainer
.
Add
(
daemonSetWs
)
namespacesWs
:=
new
(
restful
.
WebService
)
namespacesWs
.
Filter
(
wsLogger
)
namespacesWs
.
Path
(
"/api/v1/namespaces"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
namespacesWs
.
Route
(
namespacesWs
.
POST
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
POST
(
"/namespace"
)
.
To
(
apiHandler
.
handleCreateNamespace
)
.
Reads
(
NamespaceSpec
{})
.
Writes
(
NamespaceSpec
{}))
namespaces
Ws
.
Route
(
namespacesWs
.
GET
(
"
"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/namespace
"
)
.
To
(
apiHandler
.
handleGetNamespaces
)
.
Writes
(
NamespaceList
{}))
wsContainer
.
Add
(
namespacesWs
)
logsWs
:=
new
(
restful
.
WebService
)
logsWs
.
Filter
(
wsLogger
)
logsWs
.
Path
(
"/api/v1/logs"
)
.
Produces
(
restful
.
MIME_JSON
)
logsWs
.
Route
(
logsWs
.
GET
(
"/{namespace}/{podId}"
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/log/{namespace}/{podId}"
)
.
To
(
apiHandler
.
handleLogs
)
.
Writes
(
Logs
{}))
logs
Ws
.
Route
(
logsWs
.
GET
(
"
/{namespace}/{podId}/{container}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/log
/{namespace}/{podId}/{container}"
)
.
To
(
apiHandler
.
handleLogs
)
.
Writes
(
Logs
{}))
wsContainer
.
Add
(
logsWs
)
eventsWs
:=
new
(
restful
.
WebService
)
eventsWs
.
Filter
(
wsLogger
)
eventsWs
.
Path
(
"/api/v1/events"
)
.
Produces
(
restful
.
MIME_JSON
)
eventsWs
.
Route
(
eventsWs
.
GET
(
"/{namespace}/{replicationController}"
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/event/{namespace}/{replicationController}"
)
.
To
(
apiHandler
.
handleEvents
)
.
Writes
(
common
.
EventList
{}))
wsContainer
.
Add
(
eventsWs
)
secretsWs
:=
new
(
restful
.
WebService
)
secretsWs
.
Path
(
"/api/v1/secrets"
)
.
Produces
(
restful
.
MIME_JSON
)
secretsWs
.
Route
(
secretsWs
.
GET
(
"/{namespace}"
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/secret/{namespace}"
)
.
To
(
apiHandler
.
handleGetSecrets
)
.
Writes
(
SecretsList
{}))
secrets
Ws
.
Route
(
secretsWs
.
POST
(
"
"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
POST
(
"/secret
"
)
.
To
(
apiHandler
.
handleCreateImagePullSecret
)
.
Reads
(
ImagePullSecretSpec
{})
.
Writes
(
Secret
{}))
wsContainer
.
Add
(
secretsWs
)
servicesWs
:=
new
(
restful
.
WebService
)
servicesWs
.
Filter
(
wsLogger
)
servicesWs
.
Path
(
"/api/v1/services"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
servicesWs
.
Route
(
servicesWs
.
GET
(
""
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
GET
(
"/service"
)
.
To
(
apiHandler
.
handleGetServiceList
)
.
Writes
(
resourceService
.
ServiceList
{}))
services
Ws
.
Route
(
servicesWs
.
GET
(
"
/{namespace}/{service}"
)
.
apiV1
Ws
.
Route
(
apiV1Ws
.
GET
(
"/service
/{namespace}/{service}"
)
.
To
(
apiHandler
.
handleGetServiceDetail
)
.
Writes
(
resourceService
.
ServiceDetail
{}))
wsContainer
.
Add
(
servicesWs
)
resourceVerberWs
:=
new
(
restful
.
WebService
)
resourceVerberWs
.
Filter
(
wsLogger
)
resourceVerberWs
.
Path
(
"/api/v1"
)
.
Consumes
(
restful
.
MIME_JSON
)
.
Produces
(
restful
.
MIME_JSON
)
resourceVerberWs
.
Route
(
resourceVerberWs
.
DELETE
(
"/{kind}/namespace/{namespace}/name/{name}"
)
.
apiV1Ws
.
Route
(
apiV1Ws
.
DELETE
(
"/{kind}/namespace/{namespace}/name/{name}"
)
.
To
(
apiHandler
.
handleDeleteResource
))
wsContainer
.
Add
(
resourceVerberWs
)
return
wsContainer
}
...
...
src/app/frontend/chrome/chrome.html
浏览文件 @
d19f8028
...
...
@@ -16,7 +16,7 @@ limitations under the License.
<md-toolbar
class=
"kd-toolbar"
>
<div
class=
"md-toolbar-tools kd-toolbar-tools"
>
<a
ui-sref=
"workload
s
"
ui-sref-opts=
"{ reload: true }"
tabindex=
"-1"
>
<a
ui-sref=
"workload"
ui-sref-opts=
"{ reload: true }"
tabindex=
"-1"
>
<md-icon
md-svg-icon=
"assets/images/kubernetes-logo.svg"
class=
"kd-toolbar-logo"
></md-icon>
</a>
<h2>
...
...
src/app/frontend/deploy/createnamespace_controller.js
浏览文件 @
d19f8028
...
...
@@ -92,7 +92,7 @@ export default class NamespaceDialogController {
let
namespaceSpec
=
{
name
:
this
.
namespace
};
/** @type {!angular.Resource<!backendApi.NamespaceSpec>} */
let
resource
=
this
.
resource_
(
'
api/v1/namespace
s
'
);
let
resource
=
this
.
resource_
(
'
api/v1/namespace
'
);
resource
.
save
(
namespaceSpec
,
...
...
src/app/frontend/deploy/createsecret_controller.js
浏览文件 @
d19f8028
...
...
@@ -102,7 +102,7 @@ export default class CreateSecretController {
data
:
this
.
data
,
};
/** @type {!angular.Resource<!backendApi.SecretSpec>} */
let
resource
=
this
.
resource_
(
`api/v1/secret
s
/`
);
let
resource
=
this
.
resource_
(
`api/v1/secret/`
);
resource
.
save
(
secretSpec
,
...
...
src/app/frontend/deploy/deploy_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -42,7 +42,7 @@ export default function stateConfig($stateProvider) {
*/
function
resolveNamespaces
(
$resource
)
{
/** @type {!angular.Resource<!backendApi.NamespaceList>} */
let
resource
=
$resource
(
'
api/v1/namespace
s
'
);
let
resource
=
$resource
(
'
api/v1/namespace
'
);
return
resource
.
get
().
$promise
;
}
...
...
@@ -53,7 +53,7 @@ function resolveNamespaces($resource) {
* @ngInject
*/
function
getProtocolsResource
(
$resource
)
{
return
$resource
(
'
api/v1/appdeployment
s
/protocols
'
);
return
$resource
(
'
api/v1/appdeployment/protocols
'
);
}
/**
...
...
src/app/frontend/deploy/deployfromsettings_controller.js
浏览文件 @
d19f8028
...
...
@@ -214,7 +214,7 @@ export default class DeployFromSettingsController {
let
defer
=
this
.
q_
.
defer
();
/** @type {!angular.Resource<!backendApi.AppDeploymentSpec>} */
let
resource
=
this
.
resource_
(
'
api/v1/appdeployment
s
'
);
let
resource
=
this
.
resource_
(
'
api/v1/appdeployment
'
);
resource
.
save
(
appDeploymentSpec
,
(
savedConfig
)
=>
{
...
...
@@ -288,7 +288,7 @@ export default class DeployFromSettingsController {
*/
getSecrets
(
namespace
)
{
/** @type {!angular.Resource<!backendApi.SecretsList>} */
let
resource
=
this
.
resource_
(
`api/v1/secret
s
/
${
namespace
}
`
);
let
resource
=
this
.
resource_
(
`api/v1/secret/
${
namespace
}
`
);
resource
.
get
(
(
res
)
=>
{
this
.
secrets
=
res
.
secrets
;
},
(
err
)
=>
{
this
.
log_
.
log
(
`Error getting secrets:
${
err
}
`
);
});
...
...
src/app/frontend/deploy/uniquename_directive.js
浏览文件 @
d19f8028
...
...
@@ -53,7 +53,7 @@ function validate(name, namespace, resource, q) {
let
deferred
=
q
.
defer
();
/** @type {!angular.Resource<!backendApi.AppNameValiditySpec>} */
let
resourceClass
=
resource
(
'
api/v1/appdeployment
s
/validate/name
'
);
let
resourceClass
=
resource
(
'
api/v1/appdeployment/validate/name
'
);
/** @type {!backendApi.AppNameValiditySpec} */
let
spec
=
{
name
:
name
,
namespace
:
namespace
};
resourceClass
.
save
(
...
...
src/app/frontend/deploy/validimagereference_directive.js
浏览文件 @
d19f8028
...
...
@@ -51,7 +51,7 @@ function validate(reference, scope, resource, q) {
let
deferred
=
q
.
defer
();
/** @type {!angular.Resource<!backendApi.ImageReferenceValiditySpec>} */
let
resourceClass
=
resource
(
'
api/v1/appdeployment
s
/validate/imagereference
'
);
let
resourceClass
=
resource
(
'
api/v1/appdeployment/validate/imagereference
'
);
/** @type {!backendApi.ImageReferenceValiditySpec} */
let
spec
=
{
reference
:
reference
};
...
...
src/app/frontend/deploy/validprotocol_directive.js
浏览文件 @
d19f8028
...
...
@@ -68,7 +68,7 @@ function validate(ngModelController, externalChanged, protocol, isExternal, reso
}
/** @type {!angular.Resource<!backendApi.ProtocolValiditySpec>} */
let
resourceClass
=
resource
(
'
api/v1/appdeployment
s
/validate/protocol
'
);
let
resourceClass
=
resource
(
'
api/v1/appdeployment/validate/protocol
'
);
/** @type {!backendApi.ProtocolValiditySpec} */
let
spec
=
{
protocol
:
protocol
,
isExternal
:
isExternal
};
resourceClass
.
save
(
...
...
src/app/frontend/deploymentdetail/deploymentdetail_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -22,6 +22,6 @@ import {stateName} from './deploymentdetail_state';
*/
export
default
function
stateConfig
(
$stateProvider
)
{
$stateProvider
.
state
(
stateName
,
{
url
:
'
/deployment
s
/:namespace/:deployment
'
,
url
:
'
/deployment/:namespace/:deployment
'
,
});
}
src/app/frontend/deploymentlist/deploymentlist_state.js
浏览文件 @
d19f8028
...
...
@@ -13,7 +13,7 @@
// limitations under the License.
/** Name of the state. Can be used in, e.g., $state.go method. */
export
const
stateName
=
'
deployment
s
'
;
export
const
stateName
=
'
deployment
'
;
/** Absolute URL of the state. */
export
const
stateUrl
=
'
/deployment
s
'
;
export
const
stateUrl
=
'
/deployment
'
;
src/app/frontend/deploymentlist/deploymentlist_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -59,6 +59,6 @@ export default function stateConfig($stateProvider) {
*/
export
function
resolveDeployments
(
$resource
)
{
/** @type {!angular.Resource<!backendApi.DeploymentList>} */
let
resource
=
$resource
(
'
api/v1/deployment
s
'
);
let
resource
=
$resource
(
'
api/v1/deployment
'
);
return
resource
.
get
().
$promise
;
}
src/app/frontend/logs/logs_state.js
浏览文件 @
d19f8028
...
...
@@ -13,7 +13,7 @@
// limitations under the License.
/** Name of the state. Can be used in, e.g., $state.go method. */
export
const
stateName
=
'
log
s
'
;
export
const
stateName
=
'
log
'
;
/**
* Parameters for this state.
...
...
src/app/frontend/logs/logs_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -38,7 +38,7 @@ export default function stateConfig($stateProvider) {
};
$stateProvider
.
state
(
stateName
,
{
url
:
'
/log
s
/:namespace/:replicationController/:podId/:container?
'
,
url
:
'
/log/:namespace/:replicationController/:podId/:container?
'
,
resolve
:
{
'
replicationControllerPods
'
:
resolveReplicationControllerPods
,
'
podLogs
'
:
resolvePodLogs
,
...
...
@@ -56,7 +56,7 @@ export default function stateConfig($stateProvider) {
function
resolveReplicationControllerPods
(
$stateParams
,
$resource
)
{
/** @type {!angular.Resource<!backendApi.ReplicationControllerPods>} */
let
resource
=
$resource
(
`api/v1/replicationcontroller
s/pods
/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
replicationController
}
`
);
`api/v1/replicationcontroller
/pod
/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
replicationController
}
`
);
return
resource
.
get
().
$promise
;
}
...
...
@@ -69,7 +69,7 @@ function resolveReplicationControllerPods($stateParams, $resource) {
*/
function
resolvePodLogs
(
$stateParams
,
$resource
)
{
/** @type {!angular.Resource<!backendApi.Logs>} */
let
resource
=
$resource
(
`api/v1/log
s
/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
podId
}
/
${
$stateParams
.
container
}
`
);
let
resource
=
$resource
(
`api/v1/log/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
podId
}
/
${
$stateParams
.
container
}
`
);
return
resource
.
get
().
$promise
;
}
src/app/frontend/poddetail/poddetail_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -55,7 +55,7 @@ export default function stateConfig($stateProvider) {
* @ngInject
*/
export
function
getPodDetailResource
(
$resource
,
$stateParams
)
{
return
$resource
(
`api/v1/pod
s
/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
pod
}
`
);
return
$resource
(
`api/v1/pod/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
pod
}
`
);
}
/**
...
...
src/app/frontend/podlist/podlist_state.js
浏览文件 @
d19f8028
...
...
@@ -13,7 +13,7 @@
// limitations under the License.
/** Name of the state. Can be used in, e.g., $state.go method. */
export
const
stateName
=
'
pod
s
'
;
export
const
stateName
=
'
pod
'
;
/** Absolute URL of the state. */
export
const
stateUrl
=
'
/pod
s
'
;
export
const
stateUrl
=
'
/pod
'
;
src/app/frontend/podlist/podlist_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -59,6 +59,6 @@ export default function stateConfig($stateProvider) {
*/
export
function
resolvePodList
(
$resource
)
{
/** @type {!angular.Resource<!backendApi.PodList>} */
let
resource
=
$resource
(
'
api/v1/pod
s
'
);
let
resource
=
$resource
(
'
api/v1/pod
'
);
return
resource
.
get
().
$promise
;
}
src/app/frontend/replicasetdetail/replicasetdetail_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -55,7 +55,7 @@ export default function stateConfig($stateProvider) {
* @ngInject
*/
export
function
getReplicaSetDetailResource
(
$resource
,
$stateParams
)
{
return
$resource
(
`api/v1/replicaset
s
/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
replicaSet
}
`
);
return
$resource
(
`api/v1/replicaset/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
replicaSet
}
`
);
}
/**
...
...
src/app/frontend/replicasetlist/replicasetlist_state.js
浏览文件 @
d19f8028
...
...
@@ -13,7 +13,7 @@
// limitations under the License.
/** Name of the state. Can be used in, e.g., $state.go method. */
export
const
stateName
=
'
replicaset
s
'
;
export
const
stateName
=
'
replicaset
'
;
/** Absolute URL of the state. */
export
const
stateUrl
=
'
/replicaset
s
'
;
export
const
stateUrl
=
'
/replicaset
'
;
src/app/frontend/replicasetlist/replicasetlist_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -59,6 +59,6 @@ export default function stateConfig($stateProvider) {
*/
export
function
resolveReplicaSets
(
$resource
)
{
/** @type {!angular.Resource<!backendApi.ReplicaSetList>} */
let
resource
=
$resource
(
'
api/v1/replicaset
s
'
);
let
resource
=
$resource
(
'
api/v1/replicaset
'
);
return
resource
.
get
().
$promise
;
}
src/app/frontend/replicationcontrollerdetail/replicationcontrollerdetail_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -27,7 +27,7 @@ import ReplicationControllerDetailController from './replicationcontrollerdetail
*/
export
default
function
stateConfig
(
$stateProvider
)
{
$stateProvider
.
state
(
stateName
,
{
url
:
'
/replicationcontroller
s
/:namespace/:replicationController
'
,
url
:
'
/replicationcontroller/:namespace/:replicationController
'
,
resolve
:
{
'
replicationControllerSpecPodsResource
'
:
getReplicationControllerSpecPodsResource
,
'
replicationControllerDetailResource
'
:
getReplicationControllerDetailsResource
,
...
...
@@ -63,7 +63,7 @@ export default function stateConfig($stateProvider) {
*/
export
function
getReplicationControllerDetailsResource
(
$stateParams
,
$resource
)
{
return
$resource
(
`api/v1/replicationcontroller
s
/
${
$stateParams
.
namespace
}
/`
+
`api/v1/replicationcontroller/
${
$stateParams
.
namespace
}
/`
+
`
${
$stateParams
.
replicationController
}
`
);
}
...
...
@@ -75,8 +75,8 @@ export function getReplicationControllerDetailsResource($stateParams, $resource)
*/
export
function
getReplicationControllerSpecPodsResource
(
$stateParams
,
$resource
)
{
return
$resource
(
`api/v1/replicationcontroller
s
/
${
$stateParams
.
namespace
}
/`
+
`
${
$stateParams
.
replicationController
}
/update/pod
s
`
);
`api/v1/replicationcontroller/
${
$stateParams
.
namespace
}
/`
+
`
${
$stateParams
.
replicationController
}
/update/pod`
);
}
/**
...
...
@@ -98,7 +98,7 @@ function resolveReplicationControllerDetails(replicationControllerDetailResource
function
resolveReplicationControllerEvents
(
$stateParams
,
$resource
)
{
/** @type {!angular.Resource<!backendApi.Events>} */
let
resource
=
$resource
(
`api/v1/event
s
/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
replicationController
}
`
);
$resource
(
`api/v1/event/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
replicationController
}
`
);
return
resource
.
get
().
$promise
;
}
src/app/frontend/replicationcontrollerlist/podlogsmenu_component.js
浏览文件 @
d19f8028
...
...
@@ -78,7 +78,7 @@ export class PodLogsMenuController {
getReplicationControllerPods_
()
{
/** @type {!angular.Resource<!backendApi.ReplicationControllerPods>} */
let
resource
=
this
.
resource_
(
`api/v1/replicationcontroller
s/pods
/
${
this
.
namespace
}
/`
+
`api/v1/replicationcontroller
/pod
/
${
this
.
namespace
}
/`
+
`
${
this
.
replicationControllerName
}
?limit=10`
);
resource
.
get
(
...
...
src/app/frontend/replicationcontrollerlist/replicationcontrollerlist_state.js
浏览文件 @
d19f8028
...
...
@@ -13,7 +13,7 @@
// limitations under the License.
/** Name of the state. Can be used in, e.g., $state.go method. */
export
const
stateName
=
'
replicationcontroller
s
'
;
export
const
stateName
=
'
replicationcontroller
'
;
/** Absolute URL of the state. */
export
const
stateUrl
=
'
/replicationcontroller
s
'
;
export
const
stateUrl
=
'
/replicationcontroller
'
;
src/app/frontend/replicationcontrollerlist/replicationcontrollerlist_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -59,6 +59,6 @@ export default function stateConfig($stateProvider) {
*/
export
function
resolveReplicationControllers
(
$resource
)
{
/** @type {!angular.Resource<!backendApi.ReplicationControllerList>} */
let
resource
=
$resource
(
'
api/v1/replicationcontroller
s
'
);
let
resource
=
$resource
(
'
api/v1/replicationcontroller
'
);
return
resource
.
get
().
$promise
;
}
src/app/frontend/servicedetail/servicedetail_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -55,7 +55,7 @@ export default function stateConfig($stateProvider) {
* @ngInject
*/
export
function
getServiceDetailResource
(
$stateParams
,
$resource
)
{
return
$resource
(
`api/v1/service
s
/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
service
}
`
);
return
$resource
(
`api/v1/service/
${
$stateParams
.
namespace
}
/
${
$stateParams
.
service
}
`
);
}
/**
...
...
src/app/frontend/servicelist/servicelist_state.js
浏览文件 @
d19f8028
...
...
@@ -13,7 +13,7 @@
// limitations under the License.
/** Name of the state. Can be used in, e.g., $state.go method. */
export
const
stateName
=
'
service
s
'
;
export
const
stateName
=
'
service
'
;
/** Absolute URL of the state. */
export
const
stateUrl
=
'
/service
s
'
;
export
const
stateUrl
=
'
/service
'
;
src/app/frontend/servicelist/servicelist_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -52,7 +52,7 @@ export default function stateConfig($stateProvider) {
* @ngInject
*/
export
function
getServiceListResource
(
$resource
)
{
return
$resource
(
'
api/v1/service
s
'
);
return
$resource
(
'
api/v1/service
'
);
}
/**
...
...
src/app/frontend/workloads/workloads.html
浏览文件 @
d19f8028
...
...
@@ -16,7 +16,7 @@ limitations under the License.
<kd-content-card
ng-if=
$ctrl.workloads.deploymentList.deployments.length
>
<kd-title>
<a
ui-sref=
"deployment
s
"
>
<a
ui-sref=
"deployment"
>
Deployments
</a>
</kd-title>
...
...
@@ -28,7 +28,7 @@ limitations under the License.
<kd-content-card
ng-if=
"$ctrl.workloads.replicaSetList.replicaSets.length"
>
<kd-title>
<a
ui-sref=
"replicaset
s
"
>
<a
ui-sref=
"replicaset"
>
Replica Sets
</a>
</kd-title>
...
...
@@ -40,7 +40,7 @@ limitations under the License.
<kd-content-card
ng-if=
"$ctrl.workloads.replicationControllerList.replicationControllers.length"
>
<kd-title>
<a
ui-sref=
"replicationcontroller
s
"
>
<a
ui-sref=
"replicationcontroller"
>
Replication Controllers
</a>
</kd-title>
...
...
@@ -53,7 +53,7 @@ limitations under the License.
<kd-content-card
ng-if=
"$ctrl.workloads.podList.pods.length"
>
<kd-title>
<a
ui-sref=
"pod
s
"
>
<a
ui-sref=
"pod"
>
Pods
</a>
</kd-title>
...
...
src/app/frontend/workloads/workloads_state.js
浏览文件 @
d19f8028
...
...
@@ -13,7 +13,7 @@
// limitations under the License.
/** Name of the state. Can be used in, e.g., $state.go method. */
export
const
stateName
=
'
workload
s
'
;
export
const
stateName
=
'
workload
'
;
/** Absolute URL of the state. */
export
const
stateUrl
=
'
/workload
s
'
;
export
const
stateUrl
=
'
/workload
'
;
src/app/frontend/workloads/workloads_stateconfig.js
浏览文件 @
d19f8028
...
...
@@ -55,6 +55,6 @@ export default function stateConfig($stateProvider) {
*/
export
function
resolveWorkloads
(
$resource
)
{
/** @type {!angular.Resource<!backendApi.Workloads>} */
let
resource
=
$resource
(
'
api/v1/workload
s
'
);
let
resource
=
$resource
(
'
api/v1/workload
'
);
return
resource
.
get
().
$promise
;
}
src/test/frontend/deploy/createnamespace_controller_test.js
浏览文件 @
d19f8028
...
...
@@ -106,7 +106,7 @@ describe('Create-Namespace dialog', () => {
/** @type {string} */
let
errorMessage
=
'
Something bad happened
'
;
// return an erranous response
httpBackend
.
expectPOST
(
'
api/v1/namespace
s
'
).
respond
(
500
,
errorMessage
);
httpBackend
.
expectPOST
(
'
api/v1/namespace
'
).
respond
(
500
,
errorMessage
);
// when
ctrl
.
createNamespace
();
httpBackend
.
flush
();
...
...
src/test/frontend/deploy/createsecret_controller_test.js
浏览文件 @
d19f8028
...
...
@@ -103,7 +103,7 @@ describe('Create-Secret dialog', () => {
`MzTjNiM0prTVRJSyIsICJlbWFpbCI6`
+
`ICJqZG9lQGV4YW1wbGUuY29tIiB9IH0K`
;
httpBackend
.
expect
(
'
POST
'
,
'
api/v1/secret
s
'
,
'
POST
'
,
'
api/v1/secret
'
,
{
name
:
ctrl
.
secretName
,
namespace
:
ctrl
.
namespace
,
data
:
ctrl
.
data
})
.
respond
(
201
,
'
success
'
);
// when trying to submit
...
...
@@ -121,7 +121,7 @@ describe('Create-Secret dialog', () => {
/** @type {string} */
let
errorMessage
=
'
Something bad happened
'
;
// return an erranous response
httpBackend
.
expectPOST
(
'
api/v1/secret
s
'
).
respond
(
500
,
errorMessage
);
httpBackend
.
expectPOST
(
'
api/v1/secret
'
).
respond
(
500
,
errorMessage
);
// when
ctrl
.
createSecret
();
httpBackend
.
flush
();
...
...
src/test/frontend/deploy/deployfromsettings_controller_test.js
浏览文件 @
d19f8028
...
...
@@ -306,7 +306,7 @@ describe('DeployFromSettings controller', () => {
let
response
=
{
secrets
:
[
'
secret1
'
,
'
secret2
'
,
'
secret3
'
],
};
httpBackend
.
expectGET
(
'
api/v1/secret
s
/default
'
).
respond
(
200
,
response
);
httpBackend
.
expectGET
(
'
api/v1/secret/default
'
).
respond
(
200
,
response
);
// when
ctrl
.
getSecrets
(
'
default
'
);
httpBackend
.
flush
();
...
...
src/test/frontend/deploy/uniquename_directive_test.js
浏览文件 @
d19f8028
...
...
@@ -35,7 +35,7 @@ describe('Unique name directive', () => {
it
(
'
should validate name asynchronosuly
'
,
()
=>
{
scope
.
name
=
'
foo-name
'
;
scope
.
namespace
=
'
foo-namespace
'
;
let
endpoint
=
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment
s
/validate/name
'
);
let
endpoint
=
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment/validate/name
'
);
let
elem
=
compileFn
(
scope
)[
0
];
expect
(
elem
.
classList
).
toContain
(
'
ng-valid
'
);
...
...
@@ -67,7 +67,7 @@ describe('Unique name directive', () => {
scope
.
namespace
=
'
foo-namespace
'
;
let
elem
=
compileFn
(
scope
)[
0
];
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment
s
/validate/name
'
).
respond
({
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment/validate/name
'
).
respond
({
valid
:
false
,
});
httpBackend
.
flush
();
...
...
@@ -83,7 +83,7 @@ describe('Unique name directive', () => {
scope
.
namespace
=
'
foo-namespace
'
;
let
elem
=
compileFn
(
scope
)[
0
];
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment
s
/validate/name
'
).
respond
(
503
,
''
);
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment/validate/name
'
).
respond
(
503
,
''
);
httpBackend
.
flush
();
expect
(
elem
.
classList
).
not
.
toContain
(
'
ng-pending
'
);
expect
(
elem
.
classList
).
toContain
(
'
ng-valid
'
);
...
...
src/test/frontend/deploy/validimagereference_directive_test.js
浏览文件 @
d19f8028
...
...
@@ -35,7 +35,7 @@ describe('Valid ImageReference directive', () => {
it
(
'
should validate image reference
'
,
()
=>
{
scope
.
containerImage
=
'
Test
'
;
let
endpoint
=
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment
s
/validate/imagereference
'
);
let
endpoint
=
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment/validate/imagereference
'
);
let
elem
=
compileFn
(
scope
)[
0
];
expect
(
elem
.
classList
).
toContain
(
'
ng-valid
'
);
...
...
@@ -69,7 +69,7 @@ describe('Valid ImageReference directive', () => {
scope
.
containerImage
=
'
test
'
;
let
elem
=
compileFn
(
scope
)[
0
];
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment
s
/validate/imagereference
'
)
httpBackend
.
when
(
'
POST
'
,
'
api/v1/appdeployment/validate/imagereference
'
)
.
respond
(
503
,
'
Service Unavailable
'
);
httpBackend
.
flush
();
expect
(
elem
.
classList
).
not
.
toContain
(
'
ng-pending
'
);
...
...
src/test/frontend/deploy/validprotocol_directive_test.js
浏览文件 @
d19f8028
...
...
@@ -34,7 +34,7 @@ describe('Valid protocol directive', () => {
});
it
(
'
should validate protocol asynchronosuly
'
,
()
=>
{
let
endpoint
=
httpBackend
.
whenPOST
(
'
api/v1/appdeployment
s
/validate/protocol
'
);
let
endpoint
=
httpBackend
.
whenPOST
(
'
api/v1/appdeployment/validate/protocol
'
);
let
elem
=
compileFn
(
scope
)[
0
];
expect
(
elem
.
classList
).
toContain
(
'
ng-valid
'
);
...
...
@@ -66,7 +66,7 @@ describe('Valid protocol directive', () => {
it
(
'
should validate on service type change
'
,
()
=>
{
let
elem
=
compileFn
(
scope
)[
0
];
httpBackend
.
whenPOST
(
'
api/v1/appdeployment
s
/validate/protocol
'
).
respond
({
httpBackend
.
whenPOST
(
'
api/v1/appdeployment/validate/protocol
'
).
respond
({
valid
:
false
,
});
scope
.
$apply
();
...
...
@@ -82,7 +82,7 @@ describe('Valid protocol directive', () => {
it
(
'
should treat failures as invalid protocol
'
,
()
=>
{
let
elem
=
compileFn
(
scope
)[
0
];
httpBackend
.
whenPOST
(
'
api/v1/appdeployment
s
/validate/protocol
'
).
respond
(
503
,
''
);
httpBackend
.
whenPOST
(
'
api/v1/appdeployment/validate/protocol
'
).
respond
(
503
,
''
);
scope
.
$apply
();
scope
.
isExternal
=
false
;
...
...
src/test/frontend/deploymentlist/deploymentcard_component_test.js
浏览文件 @
d19f8028
...
...
@@ -37,7 +37,7 @@ describe('Deployment card', () => {
};
// then
expect
(
ctrl
.
getDeploymentDetailHref
()).
toEqual
(
'
#/deployment
s
/foo-namespace/foo-name
'
);
expect
(
ctrl
.
getDeploymentDetailHref
()).
toEqual
(
'
#/deployment/foo-namespace/foo-name
'
);
});
it
(
'
should return true when at least one replication controller pod has warning
'
,
()
=>
{
...
...
src/test/frontend/deploymentlist/deploymentlist_stateconfig_test.js
浏览文件 @
d19f8028
...
...
@@ -26,7 +26,7 @@ describe('StateConfig for replication controller list', () => {
let
actual
=
resolveDeployments
(
resource
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/deployment
s
'
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/deployment
'
);
expect
(
actual
).
toBe
(
promise
);
}));
});
src/test/frontend/podlist/podcardlist_component_test.js
浏览文件 @
d19f8028
...
...
@@ -50,6 +50,6 @@ describe('Pod card list controller', () => {
name
:
'
foo-pod
'
,
namespace
:
'
foo-namespace
'
,
},
})).
toBe
(
'
#/pod
s
/foo-namespace/foo-pod
'
);
})).
toBe
(
'
#/pod/foo-namespace/foo-pod
'
);
});
});
src/test/frontend/podlist/podlist_stateconfig_test.js
浏览文件 @
d19f8028
...
...
@@ -26,7 +26,7 @@ describe('StateConfig for pod list', () => {
let
actual
=
resolvePodList
(
resource
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/pod
s
'
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/pod
'
);
expect
(
actual
).
toBe
(
promise
);
}));
});
src/test/frontend/replicasetlist/replicasetcard_component_test.js
浏览文件 @
d19f8028
...
...
@@ -37,7 +37,7 @@ describe('Replica Set card', () => {
};
// then
expect
(
ctrl
.
getReplicaSetDetailHref
()).
toEqual
(
'
#/replicaset
s
/foo-namespace/foo-name
'
);
expect
(
ctrl
.
getReplicaSetDetailHref
()).
toEqual
(
'
#/replicaset/foo-namespace/foo-name
'
);
});
it
(
'
should return true when at least one replication controller pod has warning
'
,
()
=>
{
...
...
src/test/frontend/replicasetlist/replicasetlist_stateconfig_test.js
浏览文件 @
d19f8028
...
...
@@ -26,7 +26,7 @@ describe('StateConfig for replication controller list', () => {
let
actual
=
resolveReplicaSets
(
resource
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/replicaset
s
'
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/replicaset
'
);
expect
(
actual
).
toBe
(
promise
);
}));
});
src/test/frontend/replicationcontrollerdetail/replicationcontrollerdetail_controller_test.js
浏览文件 @
d19f8028
...
...
@@ -63,6 +63,6 @@ describe('Replication Controller Detail controller', () => {
objectMeta
:
{
name
:
'
foo-pod
'
,
},
})).
toBe
(
'
#/log
s
/foo-namespace/foo-replicationcontroller/foo-pod/
'
);
})).
toBe
(
'
#/log/foo-namespace/foo-replicationcontroller/foo-pod/
'
);
});
});
src/test/frontend/replicationcontrollerdetail/updatereplicas_controller_test.js
浏览文件 @
d19f8028
...
...
@@ -66,7 +66,7 @@ describe('Update Replicas controller', () => {
};
spyOn
(
log
,
'
info
'
);
spyOn
(
state
,
'
reload
'
);
httpBackend
.
whenPOST
(
'
api/v1/replicationcontroller
s/foo-namespace/foo-name/update/pods
'
)
httpBackend
.
whenPOST
(
'
api/v1/replicationcontroller
/foo-namespace/foo-name/update/pod
'
)
.
respond
(
200
,
replicaSpec
);
// when
...
...
@@ -82,7 +82,7 @@ describe('Update Replicas controller', () => {
it
(
'
should log error on failed update
'
,
()
=>
{
// given
spyOn
(
log
,
'
error
'
);
httpBackend
.
whenPOST
(
'
api/v1/replicationcontroller
s/foo-namespace/foo-name/update/pods
'
)
httpBackend
.
whenPOST
(
'
api/v1/replicationcontroller
/foo-namespace/foo-name/update/pod
'
)
.
respond
(
404
);
// when
...
...
src/test/frontend/replicationcontrollerlist/podlogsmenu_component_test.js
浏览文件 @
d19f8028
...
...
@@ -75,8 +75,9 @@ describe('Pod logs menu controller', () => {
ctrl
.
openMenu
(
mdOpenMenu
);
let
pods
=
{};
$httpBackend
.
whenGET
(
'
api/v1/replicationcontrollers/pods/undefined/undefined?limit=10
'
)
.
respond
({
pods
:
pods
});
$httpBackend
.
whenGET
(
'
api/v1/replicationcontroller/pod/undefined/undefined?limit=10
'
).
respond
({
pods
:
pods
,
});
$rootScope
.
$digest
();
expect
(
ctrl
.
replicationControllerPodsList
).
toEqual
(
undefined
);
...
...
@@ -91,7 +92,7 @@ describe('Pod logs menu controller', () => {
spyOn
(
$log
,
'
error
'
).
and
.
callThrough
();
let
err
=
{};
$httpBackend
.
whenGET
(
'
api/v1/replicationcontroller
s/pods
/undefined/undefined?limit=10
'
)
$httpBackend
.
whenGET
(
'
api/v1/replicationcontroller
/pod
/undefined/undefined?limit=10
'
)
.
respond
(
500
,
err
);
$httpBackend
.
flush
();
expect
(
$log
.
error
).
toHaveBeenCalled
();
...
...
src/test/frontend/replicationcontrollerlist/replicationcontrollercard_component_test.js
浏览文件 @
d19f8028
...
...
@@ -38,7 +38,7 @@ describe('Replication controller card', () => {
// then
expect
(
ctrl
.
getReplicationControllerDetailHref
())
.
toEqual
(
'
#/replicationcontroller
s
/foo-namespace/foo-name
'
);
.
toEqual
(
'
#/replicationcontroller/foo-namespace/foo-name
'
);
});
it
(
'
should return true when at least one replication controller pod has warning
'
,
()
=>
{
...
...
src/test/frontend/replicationcontrollerlist/replicationcontrollerlist_stateconfig_test.js
浏览文件 @
d19f8028
...
...
@@ -26,7 +26,7 @@ describe('StateConfig for replication controller list', () => {
let
actual
=
resolveReplicationControllers
(
resource
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/replicationcontroller
s
'
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/replicationcontroller
'
);
expect
(
actual
).
toBe
(
promise
);
}));
});
src/test/frontend/servicelist/servicecardlist_component_test.js
浏览文件 @
d19f8028
...
...
@@ -35,6 +35,6 @@ describe('Service list controller', () => {
name
:
'
foo-service
'
,
namespace
:
'
foo-namespace
'
,
},
})).
toBe
(
'
#/service
s
/foo-namespace/foo-service
'
);
})).
toBe
(
'
#/service/foo-namespace/foo-service
'
);
});
});
src/test/frontend/workloads/workloads_stateconfig_test.js
浏览文件 @
d19f8028
...
...
@@ -26,7 +26,7 @@ describe('StateConfig for replication controller list', () => {
let
actual
=
resolveWorkloads
(
resource
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/workload
s
'
);
expect
(
resource
).
toHaveBeenCalledWith
(
'
api/v1/workload
'
);
expect
(
actual
).
toBe
(
promise
);
}));
});
src/test/integration/replicationcontrollerdetail/replicationcontrollerdetail_po.js
浏览文件 @
d19f8028
...
...
@@ -31,7 +31,7 @@ export default class ReplicationControllerDetailPageObject {
this
.
eventsTableQuery
=
by
.
xpath
(
'
//kd-event-card-list
'
);
this
.
eventsTable
=
element
(
this
.
eventsTableQuery
);
this
.
podLogsLinkQuery
=
by
.
xpath
(
`//a[contains(@href, 'log
s
')]`
);
this
.
podLogsLinkQuery
=
by
.
xpath
(
`//a[contains(@href, 'log')]`
);
this
.
podLogsLink
=
element
(
this
.
podLogsLinkQuery
);
}
}
src/test/integration/replicationcontrollerslist/replicationcontrollers_po.js
浏览文件 @
d19f8028
...
...
@@ -32,7 +32,7 @@ export default class ReplicationControllersPageObject {
*/
getElementByAppName
(
xpathString
,
appName
,
isArray
)
{
let
elemQuery
=
by
.
xpath
(
`//*[@href='#/replicationcontroller
s
/default/
${
appName
}
']/ancestor::kd-resource-card//
${
xpathString
}
`
);
`//*[@href='#/replicationcontroller/default/
${
appName
}
']/ancestor::kd-resource-card//
${
xpathString
}
`
);
if
(
isArray
)
{
return
element
.
all
(
elemQuery
);
}
...
...
src/test/integration/stories/deploy_and_delete_replication_controller.js
浏览文件 @
d19f8028
...
...
@@ -66,7 +66,7 @@ xdescribe('Deploy and delete replication controller user story test', () => {
it
(
'
should deploy replication controller
'
,
()
=>
{
deployPage
.
deployButton
.
click
().
then
(()
=>
{
expect
(
browser
.
getCurrentUrl
()).
toContain
(
'
replicationcontroller
s
'
);
expect
(
browser
.
getCurrentUrl
()).
toContain
(
'
replicationcontroller
'
);
expect
(
element
(
by
.
xpath
(
applicationCardXPath
))).
not
.
toBeNull
();
});
});
...
...
src/test/integration/stories/deploy_from_valid_file_test.js
浏览文件 @
d19f8028
...
...
@@ -55,7 +55,7 @@ describe('Deploy from valid file user story test', () => {
deployFromFilePage
.
deployButton
.
click
();
// then
expect
(
browser
.
getCurrentUrl
()).
toContain
(
'
replicationcontroller
s
'
);
expect
(
browser
.
getCurrentUrl
()).
toContain
(
'
replicationcontroller
'
);
let
cardNameLink
=
replicationControllersPage
.
getElementByAppName
(
replicationControllersPage
.
cardDetailsPageLinkQuery
,
appName
);
...
...
@@ -66,7 +66,7 @@ describe('Deploy from valid file user story test', () => {
// clean up
let
cardMenuButton
=
replicationControllersPage
.
getElementByAppName
(
replicationControllersPage
.
cardMenuButtonQuery
,
appName
);
browser
.
get
(
'
#/replicationcontroller
s
'
);
browser
.
get
(
'
#/replicationcontroller
'
);
cardMenuButton
.
click
();
replicationControllersPage
.
deleteAppButton
.
click
().
then
(
()
=>
{
deleteDialog
.
deleteAppButton
.
click
();
});
...
...
src/test/integration/stories/deploy_not_existing_img_test.js
浏览文件 @
d19f8028
...
...
@@ -64,7 +64,7 @@ describe('Deploy not existing image story', () => {
// when
deployPage
.
deployButton
.
click
().
then
(()
=>
{
// then
expect
(
browser
.
getCurrentUrl
()).
toContain
(
'
replicationcontroller
s
'
);
expect
(
browser
.
getCurrentUrl
()).
toContain
(
'
replicationcontroller
'
);
doneFn
();
});
});
...
...
@@ -102,7 +102,7 @@ describe('Deploy not existing image story', () => {
cardDetailsPageLink
.
click
();
// then
expect
(
browser
.
getCurrentUrl
()).
toContain
(
`replicationcontroller
s
/default/
${
appName
}
`
);
expect
(
browser
.
getCurrentUrl
()).
toContain
(
`replicationcontroller/default/
${
appName
}
`
);
});
it
(
'
should switch to events tab and check for errors
'
,
()
=>
{
...
...
@@ -130,7 +130,7 @@ describe('Deploy not existing image story', () => {
browser
.
getAllWindowHandles
().
then
((
handles
)
=>
{
let
logsWindowHandle
=
handles
[
1
];
browser
.
switchTo
().
window
(
logsWindowHandle
).
then
(()
=>
{
expect
(
browser
.
getCurrentUrl
()).
toContain
(
`log
s
/default/
${
appName
}
`
);
expect
(
browser
.
getCurrentUrl
()).
toContain
(
`log/default/
${
appName
}
`
);
});
});
});
...
...
@@ -141,7 +141,7 @@ describe('Deploy not existing image story', () => {
let
cardMenuButton
=
replicationControllersPage
.
getElementByAppName
(
replicationControllersPage
.
cardMenuButtonQuery
,
appName
);
browser
.
get
(
'
#/replicationcontroller
s
'
);
browser
.
get
(
'
#/replicationcontroller
'
);
cardMenuButton
.
click
();
replicationControllersPage
.
deleteAppButton
.
click
().
then
(()
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录