MCPcopy Create free account
hub / github.com/coder/coder / TestManager_GetUnmetDependencies

Function TestManager_GetUnmetDependencies

agent/unit/manager_test.go:437–516  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

435}
436
437func TestManager_GetUnmetDependencies(t *testing.T) {
438 t.Parallel()
439
440 t.Run("GetUnmetDependenciesForUnitWithNoDependencies", func(t *testing.T) {
441 t.Parallel()
442
443 manager := unit.NewManager()
444
445 // Given: Unit A is registered
446 err := manager.Register(unitA)
447 require.NoError(t, err)
448
449 // Given: Unit A has no dependencies
450 // Then: Unit A should have no unmet dependencies
451 unmet, err := manager.GetUnmetDependencies(unitA)
452 require.NoError(t, err)
453 assert.Empty(t, unmet)
454 })
455
456 t.Run("GetUnmetDependenciesForUnitWithUnsatisfiedDependencies", func(t *testing.T) {
457 t.Parallel()
458
459 manager := unit.NewManager()
460 err := manager.Register(unitA)
461 require.NoError(t, err)
462 err = manager.Register(unitB)
463 require.NoError(t, err)
464
465 // Given: Unit A depends on Unit B being unit.StatusStarted
466 err = manager.AddDependency(unitA, unitB, unit.StatusStarted)
467 require.NoError(t, err)
468
469 unmet, err := manager.GetUnmetDependencies(unitA)
470 require.NoError(t, err)
471 require.Len(t, unmet, 1)
472
473 assert.Equal(t, unitA, unmet[0].Unit)
474 assert.Equal(t, unitB, unmet[0].DependsOn)
475 assert.Equal(t, unit.StatusStarted, unmet[0].RequiredStatus)
476 assert.False(t, unmet[0].IsSatisfied)
477 })
478
479 t.Run("GetUnmetDependenciesForUnitWithSatisfiedDependencies", func(t *testing.T) {
480 t.Parallel()
481
482 manager := unit.NewManager()
483
484 // Given: Unit A and Unit B are registered
485 err := manager.Register(unitA)
486 require.NoError(t, err)
487 err = manager.Register(unitB)
488 require.NoError(t, err)
489
490 // Given: Unit A depends on Unit B being unit.StatusStarted
491 err = manager.AddDependency(unitA, unitB, unit.StatusStarted)
492 require.NoError(t, err)
493
494 // When: Unit B is started

Callers

nothing calls this directly

Calls 9

RegisterMethod · 0.95
GetUnmetDependenciesMethod · 0.95
AddDependencyMethod · 0.95
UpdateStatusMethod · 0.95
NewManagerFunction · 0.92
RunMethod · 0.65
EmptyMethod · 0.45
LenMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected