Go Coverage Report

📊 Coverage Badge

📑 Coverage Table

github.com/bassista/go_spin/cmd/server/main.go:28:					main					0.0%
github.com/bassista/go_spin/cmd/server/main.go:92:					createWaitingServer			0.0%
github.com/bassista/go_spin/cmd/server/main.go:107:					createGraceHttpServer			0.0%
github.com/bassista/go_spin/internal/api/controller/configuration_controller.go:24:	NewConfigurationController		100.0%
github.com/bassista/go_spin/internal/api/controller/configuration_controller.go:31:	GetConfiguration			100.0%
github.com/bassista/go_spin/internal/api/controller/container_controller.go:24:		NewContainerController			100.0%
github.com/bassista/go_spin/internal/api/controller/container_controller.go:38:		AllContainers				100.0%
github.com/bassista/go_spin/internal/api/controller/container_controller.go:44:		CreateOrUpdateContainer			100.0%
github.com/bassista/go_spin/internal/api/controller/container_controller.go:50:		DeleteContainer				82.4%
github.com/bassista/go_spin/internal/api/controller/container_controller.go:77:		Ready					78.3%
github.com/bassista/go_spin/internal/api/controller/container_crud.go:20:		All					69.2%
github.com/bassista/go_spin/internal/api/controller/container_crud.go:41:		Add					100.0%
github.com/bassista/go_spin/internal/api/controller/container_crud.go:49:		Remove					100.0%
github.com/bassista/go_spin/internal/api/controller/container_crud.go:62:		Validate				100.0%
github.com/bassista/go_spin/internal/api/controller/crud_controller.go:30:		RegisterCrudRoutes			0.0%
github.com/bassista/go_spin/internal/api/controller/crud_controller.go:37:		GetAll					60.0%
github.com/bassista/go_spin/internal/api/controller/crud_controller.go:47:		CreateOrUpdate				100.0%
github.com/bassista/go_spin/internal/api/controller/crud_controller.go:68:		Delete					100.0%
github.com/bassista/go_spin/internal/api/controller/group_controller.go:25:		NewGroupController			100.0%
github.com/bassista/go_spin/internal/api/controller/group_controller.go:42:		AllGroups				100.0%
github.com/bassista/go_spin/internal/api/controller/group_controller.go:48:		CreateOrUpdateGroup			100.0%
github.com/bassista/go_spin/internal/api/controller/group_controller.go:54:		DeleteGroup				100.0%
github.com/bassista/go_spin/internal/api/controller/group_controller.go:80:		StartGroup				100.0%
github.com/bassista/go_spin/internal/api/controller/group_controller.go:130:		StopGroup				100.0%
github.com/bassista/go_spin/internal/api/controller/group_controller.go:174:		startContainerInBackground		80.0%
github.com/bassista/go_spin/internal/api/controller/group_controller.go:186:		stopContainerInBackground		80.0%
github.com/bassista/go_spin/internal/api/controller/group_crud.go:14:			All					75.0%
github.com/bassista/go_spin/internal/api/controller/group_crud.go:22:			Add					100.0%
github.com/bassista/go_spin/internal/api/controller/group_crud.go:30:			Remove					100.0%
github.com/bassista/go_spin/internal/api/controller/group_crud.go:40:			sanitizeGroups				100.0%
github.com/bassista/go_spin/internal/api/controller/group_crud.go:66:			Validate				100.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:32:		NewRuntimeController			83.3%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:51:		IsRunning				92.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:96:		StartContainer				73.1%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:147:		StopContainer				73.1%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:198:		stopContainerInBackground		80.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:212:		WaitingPage				77.8%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:263:		findContainer				85.7%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:279:		findGroup				100.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:289:		handleContainerWaitingPage		80.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:313:		handleGroupWaitingPage			80.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:370:		startContainerInBackground		100.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:382:		serveWaitingPage			100.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:392:		ListContainers				100.0%
github.com/bassista/go_spin/internal/api/controller/runtime_controller.go:412:		AllStats				83.3%
github.com/bassista/go_spin/internal/api/controller/schedule_controller.go:20:		NewScheduleController			100.0%
github.com/bassista/go_spin/internal/api/controller/schedule_controller.go:34:		AllSchedules				100.0%
github.com/bassista/go_spin/internal/api/controller/schedule_controller.go:40:		CreateOrUpdateSchedule			100.0%
github.com/bassista/go_spin/internal/api/controller/schedule_controller.go:46:		DeleteSchedule				82.4%
github.com/bassista/go_spin/internal/api/controller/schedule_crud.go:14:		All					75.0%
github.com/bassista/go_spin/internal/api/controller/schedule_crud.go:22:		Add					100.0%
github.com/bassista/go_spin/internal/api/controller/schedule_crud.go:30:		Remove					100.0%
github.com/bassista/go_spin/internal/api/controller/schedule_crud.go:43:		Validate				100.0%
github.com/bassista/go_spin/internal/api/middleware/cors.go:12:				CORSMiddleware				100.0%
github.com/bassista/go_spin/internal/api/middleware/honeybadger.go:15:			HoneybadgerMiddleware			0.0%
github.com/bassista/go_spin/internal/api/middleware/timeout.go:13:			RequestTimeout				100.0%
github.com/bassista/go_spin/internal/api/route/configuration_route.go:11:		NewConfigurationRouter			0.0%
github.com/bassista/go_spin/internal/api/route/container_route.go:10:			NewContainerRouter			0.0%
github.com/bassista/go_spin/internal/api/route/group_route.go:10:			NewGroupRouter				0.0%
github.com/bassista/go_spin/internal/api/route/route.go:12:				SetupRoutes				0.0%
github.com/bassista/go_spin/internal/api/route/runtime_route.go:10:			NewRuntimeRouter			100.0%
github.com/bassista/go_spin/internal/api/route/schedule_route.go:10:			NewScheduleRouter			0.0%
github.com/bassista/go_spin/internal/api/route/ui_route.go:12:				NewUIRouter				0.0%
github.com/bassista/go_spin/internal/app/app.go:29:					New					100.0%
github.com/bassista/go_spin/internal/app/app.go:62:					Shutdown				100.0%
github.com/bassista/go_spin/internal/app/app.go:80:					StartWatchers				41.2%
github.com/bassista/go_spin/internal/cache/scheduler.go:14:				StartPersistenceScheduler		100.0%
github.com/bassista/go_spin/internal/cache/scheduler.go:46:				flushCache				88.9%
github.com/bassista/go_spin/internal/cache/store.go:26:					NewStore				100.0%
github.com/bassista/go_spin/internal/cache/store.go:31:					MarkDirty				100.0%
github.com/bassista/go_spin/internal/cache/store.go:38:					IsDirty					100.0%
github.com/bassista/go_spin/internal/cache/store.go:45:					ClearDirty				100.0%
github.com/bassista/go_spin/internal/cache/store.go:52:					GetLastUpdate				100.0%
github.com/bassista/go_spin/internal/cache/store.go:59:					SetLastUpdate				100.0%
github.com/bassista/go_spin/internal/cache/store.go:66:					Snapshot				100.0%
github.com/bassista/go_spin/internal/cache/store.go:73:					Replace					88.9%
github.com/bassista/go_spin/internal/cache/store.go:88:					AddContainer				95.8%
github.com/bassista/go_spin/internal/cache/store.go:133:				RemoveContainer				93.8%
github.com/bassista/go_spin/internal/cache/store.go:191:				AddGroup				95.7%
github.com/bassista/go_spin/internal/cache/store.go:233:				RemoveGroup				91.3%
github.com/bassista/go_spin/internal/cache/store.go:277:				AddSchedule				93.8%
github.com/bassista/go_spin/internal/cache/store.go:307:				RemoveSchedule				100.0%
github.com/bassista/go_spin/internal/cache/store.go:332:				cloneData				71.4%
github.com/bassista/go_spin/internal/cache/store.go:345:				cloneContainer				71.4%
github.com/bassista/go_spin/internal/cache/store.go:358:				cloneGroup				71.4%
github.com/bassista/go_spin/internal/cache/store.go:371:				cloneSchedule				71.4%
github.com/bassista/go_spin/internal/config/config.go:56:				LoadConfig				93.8%
github.com/bassista/go_spin/internal/config/config.go:160:				dataFileExistenceCheck			75.0%
github.com/bassista/go_spin/internal/config/config.go:190:				validate				100.0%
github.com/bassista/go_spin/internal/config/config.go:234:				getEnvOrDefault				100.0%
github.com/bassista/go_spin/internal/config/config.go:241:				getEnvOrViperPort			100.0%
github.com/bassista/go_spin/internal/logger/logger.go:12:				init					71.4%
github.com/bassista/go_spin/internal/logger/logger.go:31:				WithComponent				100.0%
github.com/bassista/go_spin/internal/repository/json_repository.go:37:			NewJSONRepository			87.5%
github.com/bassista/go_spin/internal/repository/json_repository.go:54:			Load					86.7%
github.com/bassista/go_spin/internal/repository/json_repository.go:82:			loadUnlocked				100.0%
github.com/bassista/go_spin/internal/repository/json_repository.go:107:			removeSchedulesWithMissingContainers	95.2%
github.com/bassista/go_spin/internal/repository/json_repository.go:145:			Save					83.3%
github.com/bassista/go_spin/internal/repository/json_repository.go:189:			saveUnlocked				72.2%
github.com/bassista/go_spin/internal/repository/json_repository.go:228:			StartWatcher				80.0%
github.com/bassista/go_spin/internal/repository/json_repository.go:304:			MakeWatcherCallback			100.0%
github.com/bassista/go_spin/internal/repository/model.go:57:				ApplyDefaults				100.0%
github.com/bassista/go_spin/internal/repository/model.go:72:				applyDefaults				100.0%
github.com/bassista/go_spin/internal/repository/model.go:82:				applyDefaults				100.0%
github.com/bassista/go_spin/internal/repository/model.go:88:				applyDefaults				100.0%
github.com/bassista/go_spin/internal/repository/model.go:99:				applyDefaults				100.0%
github.com/bassista/go_spin/internal/repository/model.go:111:				AreDataDocumentsEqual			75.0%
github.com/bassista/go_spin/internal/runtime/docker_runtime.go:30:			NewDockerRuntime			75.0%
github.com/bassista/go_spin/internal/runtime/docker_runtime.go:40:			NewDockerRuntimeWithClient		100.0%
github.com/bassista/go_spin/internal/runtime/docker_runtime.go:44:			IsRunning				100.0%
github.com/bassista/go_spin/internal/runtime/docker_runtime.go:65:			Start					100.0%
github.com/bassista/go_spin/internal/runtime/docker_runtime.go:76:			Stop					100.0%
github.com/bassista/go_spin/internal/runtime/docker_runtime.go:90:			ListContainers				100.0%
github.com/bassista/go_spin/internal/runtime/docker_runtime.go:114:			Stats					83.3%
github.com/bassista/go_spin/internal/runtime/docker_runtime.go:151:			calculateCPUPercent			83.3%
github.com/bassista/go_spin/internal/runtime/factory.go:17:				NewRuntimeFromConfig			100.0%
github.com/bassista/go_spin/internal/runtime/memory_runtime.go:18:			NewMemoryRuntime			100.0%
github.com/bassista/go_spin/internal/runtime/memory_runtime.go:22:			NewMemoryRuntimeFromDocument		100.0%
github.com/bassista/go_spin/internal/runtime/memory_runtime.go:35:			IsRunning				100.0%
github.com/bassista/go_spin/internal/runtime/memory_runtime.go:43:			Start					100.0%
github.com/bassista/go_spin/internal/runtime/memory_runtime.go:51:			Stop					100.0%
github.com/bassista/go_spin/internal/runtime/memory_runtime.go:61:			ListContainers				100.0%
github.com/bassista/go_spin/internal/runtime/memory_runtime.go:74:			Stats					100.0%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:38:			NewPollingScheduler			100.0%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:52:			Start					100.0%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:69:			tick					79.3%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:213:		getFlags				100.0%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:219:		setFlags				100.0%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:225:		dayKey					100.0%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:229:		expandScheduleTargets			100.0%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:265:		isTimerActiveNow			100.0%
github.com/bassista/go_spin/internal/scheduler/polling_scheduler.go:298:		containsInt				100.0%
total:											(statements)				81.7%