Browse Source

temporal modules testsuite: Tests for mixing shared and distributed temporal databases

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@62022 15284696-431f-4ddb-bdfa-cd5b030d7da7
Soeren Gebbert 10 years ago
parent
commit
e12531e4b4
1 changed files with 66 additions and 5 deletions
  1. 66 5
      temporal/t.connect/testsuite/test_distr_tgis_db_raster.py

+ 66 - 5
temporal/t.connect/testsuite/test_distr_tgis_db_raster.py

@@ -13,18 +13,43 @@ import subprocess
 from grass.gunittest.case import TestCase
 from grass.gunittest.case import TestCase
 from grass.gunittest.gmodules import SimpleModule
 from grass.gunittest.gmodules import SimpleModule
 import os
 import os
-
+import grass.temporal as tgis
 
 
 mapset_count = 0
 mapset_count = 0
 class TestRasterExtraction(TestCase):
 class TestRasterExtraction(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpClass(cls):
     def setUpClass(cls):
-       os.putenv("GRASS_OVERWRITE", "1")
-       for i in range(1, 5): 
+        os.putenv("GRASS_OVERWRITE", "1")
+        for i in range(1, 5): 
             cls.runModule("g.mapset", flags="c", mapset="test%i"%i)
             cls.runModule("g.mapset", flags="c", mapset="test%i"%i)
             cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
             cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
-            # Use always the current mapset as temporal database
+            cls.runModule("t.info", flags="s")
+            cls.runModule("r.mapcalc", expression="a1 = 100")
+            cls.runModule("r.mapcalc", expression="a2 = 200")
+            cls.runModule("r.mapcalc", expression="a3 = 300")
+            
+            cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
+                                         output="A",  title="A test",  description="A test")
+            cls.runModule("t.register",  flags="i",  type="rast",  input="A",  
+                                         maps="a1,a2,a3",  
+                                         start="2001-01-01", increment="%i months"%i)
+
+        # Here we reuse two mapset to share a temporal databse between mapsets
+        tgis.init()
+        ciface = tgis.get_tgis_c_library_interface()
+        cls.runModule("g.mapset", flags="c", mapset="test5")
+        driver = ciface.get_driver_name("test1")
+        database = ciface.get_database_name("test1")
+        cls.runModule("t.connect",  driver=driver,  database=database)
+        
+        cls.runModule("g.mapset", flags="c", mapset="test6")
+        driver = ciface.get_driver_name("test2")
+        database = ciface.get_database_name("test2")
+        cls.runModule("t.connect",  driver=driver,  database=database)
+
+        for i in range(5, 7): 
+            cls.runModule("g.mapset", mapset="test%i"%i)
             cls.runModule("r.mapcalc", expression="a1 = 100")
             cls.runModule("r.mapcalc", expression="a1 = 100")
             cls.runModule("r.mapcalc", expression="a2 = 200")
             cls.runModule("r.mapcalc", expression="a2 = 200")
             cls.runModule("r.mapcalc", expression="a3 = 300")
             cls.runModule("r.mapcalc", expression="a3 = 300")
@@ -41,7 +66,9 @@ class TestRasterExtraction(TestCase):
         list_string = """A|test1|2001-01-01 00:00:00|2001-04-01 00:00:00|3
         list_string = """A|test1|2001-01-01 00:00:00|2001-04-01 00:00:00|3
                                 A|test2|2001-01-01 00:00:00|2001-07-01 00:00:00|3
                                 A|test2|2001-01-01 00:00:00|2001-07-01 00:00:00|3
                                 A|test3|2001-01-01 00:00:00|2001-10-01 00:00:00|3
                                 A|test3|2001-01-01 00:00:00|2001-10-01 00:00:00|3
-                                A|test4|2001-01-01 00:00:00|2002-01-01 00:00:00|3"""
+                                A|test4|2001-01-01 00:00:00|2002-01-01 00:00:00|3
+                                A|test5|2001-01-01 00:00:00|2002-04-01 00:00:00|3
+                                A|test6|2001-01-01 00:00:00|2002-07-01 00:00:00|3"""
                                 
                                 
         entries = list_string.split("\n")
         entries = list_string.split("\n")
         
         
@@ -114,6 +141,20 @@ class TestRasterExtraction(TestCase):
         for a,  b in zip(list_string.split("\n"),  out.split("\n")):
         for a,  b in zip(list_string.split("\n"),  out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
             self.assertEqual(a.strip(), b.strip())
 
 
+        list_string = """a1|test5|2001-01-01 00:00:00|2001-06-01 00:00:00
+                                a2|test5|2001-06-01 00:00:00|2001-11-01 00:00:00
+                                a3|test5|2001-11-01 00:00:00|2002-04-01 00:00:00"""
+
+        entries = list_string.split("\n")
+
+        trast_list = SimpleModule("t.rast.list", quiet=True, flags="s",  input="A@test5")
+        self.assertModule(trast_list)
+
+        out = trast_list.outputs["stdout"].value
+
+        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+            self.assertEqual(a.strip(), b.strip())
+
     def test_strds_info(self):  
     def test_strds_info(self):  
         self.runModule("g.mapset", mapset="test4")
         self.runModule("g.mapset", mapset="test4")
         tinfo_string="""id=A@test1
         tinfo_string="""id=A@test1
@@ -159,6 +200,16 @@ class TestRasterExtraction(TestCase):
         info = SimpleModule("t.info", flags="g", input="A@test4")
         info = SimpleModule("t.info", flags="g", input="A@test4")
         self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
         self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
 
 
+        tinfo_string="""id=A@test5
+                                    name=A
+                                    mapset=test5
+                                    start_time=2001-01-01 00:00:00
+                                    end_time=2002-04-01 00:00:00
+                                    granularity=5 months"""
+
+        info = SimpleModule("t.info", flags="g", input="A@test5")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
     def test_raster_info(self):  
     def test_raster_info(self):  
         self.runModule("g.mapset", mapset="test3")
         self.runModule("g.mapset", mapset="test3")
         tinfo_string="""id=a1@test1
         tinfo_string="""id=a1@test1
@@ -201,6 +252,16 @@ class TestRasterExtraction(TestCase):
         info = SimpleModule("t.info", flags="g", type="rast",  input="a1@test4")
         info = SimpleModule("t.info", flags="g", type="rast",  input="a1@test4")
         self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
         self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
 
 
+        tinfo_string="""id=a1@test5
+                                name=a1
+                                mapset=test5
+                                temporal_type=absolute
+                                start_time=2001-01-01 00:00:00
+                                end_time=2001-06-01 00:00:00 """
+
+        info = SimpleModule("t.info", flags="g", type="rast",  input="a1@test5")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
 if __name__ == '__main__':
 if __name__ == '__main__':
     from grass.gunittest.main import test
     from grass.gunittest.main import test
     test()
     test()