@@ -5,19 +5,42 @@ module VCAP::CloudController
55 subject ( :fetcher ) { GlobalUsageSummaryFetcher }
66
77 describe '.summary' do
8- let! ( :task ) { TaskModel . make ( state : TaskModel ::RUNNING_STATE , memory_in_mb : 100 ) }
8+ before do
9+ router_group = double ( 'router_group' , type : 'tcp' , reservable_ports : [ 8080 ] )
10+ routing_api_client = double ( 'routing_api_client' , router_group : router_group , enabled? : true )
11+ allow ( CloudController ::DependencyLocator ) . to receive ( :instance ) . and_return ( double ( :api_client , routing_api_client :) )
12+ end
13+
14+ let! ( :org ) { Organization . make }
15+ let! ( :space ) { Space . make ( organization : org ) }
916 let! ( :completed_task ) { TaskModel . make ( state : TaskModel ::SUCCEEDED_STATE , memory_in_mb : 100 ) }
17+ let! ( :running_task ) { TaskModel . make ( state : TaskModel ::RUNNING_STATE , memory_in_mb : 100 ) }
1018 let! ( :started_process1 ) { ProcessModelFactory . make ( instances : 3 , state : 'STARTED' , memory : 100 ) }
1119 let! ( :started_process2 ) { ProcessModelFactory . make ( instances : 6 , state : 'STARTED' , memory : 100 ) }
1220 let! ( :started_process3 ) { ProcessModelFactory . make ( instances : 7 , state : 'STARTED' , memory : 100 ) }
1321 let! ( :stopped_process ) { ProcessModelFactory . make ( instances : 2 , state : 'STOPPED' , memory : 100 ) }
1422 let! ( :process2 ) { ProcessModelFactory . make ( instances : 5 , state : 'STARTED' , memory : 100 ) }
23+ let! ( :service_instance1 ) { ServiceInstance . make ( is_gateway_service : false ) }
24+ let! ( :service_instance2 ) { ServiceInstance . make ( is_gateway_service : true ) }
25+ let! ( :service_key1 ) { VCAP ::CloudController ::ServiceKey . make ( service_instance : service_instance1 ) }
26+ let! ( :service_key2 ) { VCAP ::CloudController ::ServiceKey . make ( service_instance : service_instance2 ) }
27+ let! ( :shared_domain_with_router_group ) { SharedDomain . make ( router_group_guid : 'rg-123' ) }
28+ let! ( :shared_domain_without_router_group ) { SharedDomain . make ( router_group_guid : nil ) }
29+ let! ( :private_domain_without_router_group ) { PrivateDomain . make ( owning_organization : org ) }
30+ let! ( :route1 ) { Route . make ( host : '' , domain : shared_domain_with_router_group , port : 8080 ) }
31+ let! ( :route2 ) { Route . make ( host : '' , domain : private_domain_without_router_group , space : space ) }
1532
1633 it 'returns a summary' do
1734 summary = fetcher . summary
1835
1936 expect ( summary . started_instances ) . to eq ( 21 )
2037 expect ( summary . memory_in_mb ) . to eq ( 2200 )
38+ expect ( summary . routes ) . to eq ( 2 )
39+ expect ( summary . service_instances ) . to eq ( 1 )
40+ expect ( summary . reserved_ports ) . to eq ( 1 )
41+ expect ( summary . domains ) . to eq ( 2 ) # system domain "vcap.me" plus :private_domain_without_router_group
42+ expect ( summary . per_app_tasks ) . to eq ( 1 )
43+ expect ( summary . service_keys ) . to eq ( 2 )
2144 end
2245 end
2346 end
0 commit comments