Skip to content

Commit 930bfbb

Browse files
committed
add tests on provisionerserver
1 parent 401b000 commit 930bfbb

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

coderd/provisionerdserver/provisionerdserver_test.go

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1874,6 +1874,72 @@ func TestInsertWorkspaceResource(t *testing.T) {
18741874
// that all apps are disabled.
18751875
require.Equal(t, []database.DisplayApp{}, agent.DisplayApps)
18761876
})
1877+
1878+
t.Run("ResourcesMonitoring", func(t *testing.T) {
1879+
t.Parallel()
1880+
db := dbmem.New()
1881+
job := uuid.New()
1882+
err := insert(db, job, &sdkproto.Resource{
1883+
Name: "something",
1884+
Type: "aws_instance",
1885+
Agents: []*sdkproto.Agent{{
1886+
Name: "dev1",
1887+
DisplayApps: &sdkproto.DisplayApps{},
1888+
ResourcesMonitoring: &sdkproto.ResourcesMonitoring{
1889+
Memory: &sdkproto.MemoryResourceMonitor{
1890+
Enabled: true,
1891+
Threshold: 70,
1892+
},
1893+
},
1894+
}, {
1895+
Name: "dev2",
1896+
DisplayApps: &sdkproto.DisplayApps{},
1897+
ResourcesMonitoring: &sdkproto.ResourcesMonitoring{
1898+
Memory: &sdkproto.MemoryResourceMonitor{
1899+
Enabled: true,
1900+
Threshold: 80,
1901+
},
1902+
Volumes: []*sdkproto.VolumeResourceMonitor{
1903+
{
1904+
Path: "/volume1",
1905+
Enabled: true,
1906+
Threshold: 90,
1907+
},
1908+
{
1909+
Path: "/volume2",
1910+
Enabled: true,
1911+
Threshold: 50,
1912+
},
1913+
},
1914+
},
1915+
}},
1916+
})
1917+
require.NoError(t, err)
1918+
resources, err := db.GetWorkspaceResourcesByJobID(ctx, job)
1919+
require.NoError(t, err)
1920+
require.Len(t, resources, 1)
1921+
agents, err := db.GetWorkspaceAgentsByResourceIDs(ctx, []uuid.UUID{resources[0].ID})
1922+
require.NoError(t, err)
1923+
require.Len(t, agents, 2)
1924+
1925+
firstAgent := agents[0]
1926+
memMonitor, err := db.FetchMemoryResourceMonitorsByAgentID(ctx, firstAgent.ID)
1927+
require.NoError(t, err)
1928+
require.Equal(t, int32(70), memMonitor.Threshold)
1929+
1930+
secondAgent := agents[1]
1931+
memMonitor, err = db.FetchMemoryResourceMonitorsByAgentID(ctx, secondAgent.ID)
1932+
require.NoError(t, err)
1933+
volMonitors, err := db.FetchVolumesResourceMonitorsByAgentID(ctx, secondAgent.ID)
1934+
require.NoError(t, err)
1935+
1936+
require.Equal(t, int32(80), memMonitor.Threshold)
1937+
require.Len(t, volMonitors, 2)
1938+
require.Equal(t, int32(90), volMonitors[0].Threshold)
1939+
require.Equal(t, "/volume1", volMonitors[0].Path)
1940+
require.Equal(t, int32(50), volMonitors[1].Threshold)
1941+
require.Equal(t, "/volume2", volMonitors[1].Path)
1942+
})
18771943
}
18781944

18791945
func TestNotifications(t *testing.T) {

0 commit comments

Comments
 (0)