@@ -1874,6 +1874,72 @@ func TestInsertWorkspaceResource(t *testing.T) {
1874
1874
// that all apps are disabled.
1875
1875
require .Equal (t , []database.DisplayApp {}, agent .DisplayApps )
1876
1876
})
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
+ })
1877
1943
}
1878
1944
1879
1945
func TestNotifications (t * testing.T ) {
0 commit comments