Exemplo n.º 1
0
    def setUp(self):
        self.odm = ODMModel({"pippo": "pluto", "mickey": "paperino"})
        self.old_before_callbacks = ODMModel.before_callbacks
        self.old_after_callbacks = ODMModel.after_callbacks

        ODMModel.before_callbacks = {}
        ODMModel.after_callbacks = {}
Exemplo n.º 2
0
 def setUp(self):
     self._pm = MongoDBPersistenceManager({
         "db": {
             "url": "localhost",
             "port": 27017,
             "db_name": "campus_unimi_test"
         }
     })
     ODMModel.set_pm(self._pm)
     self._pm.clean_collection("building")
 def setUp(self):
    self._pm = MongoDBPersistenceManager({
       "db": {
             "url"    : "localhost",
             "port"   : 27017,
             "db_name" : "campus_unimi_test"
          }
    })
    ODMModel.set_pm(self._pm)
    self._pm.clean_collection("building")
Exemplo n.º 4
0
   def setUp(self):
      self.odm = ODMModel( { "pippo" : "pluto", "mickey": "paperino" } )
      self.old_before_callbacks    = ODMModel.before_callbacks
      self.old_after_callbacks     = ODMModel.after_callbacks

      ODMModel.before_callbacks    = {}
      ODMModel.after_callbacks     = {}
Exemplo n.º 5
0
 def test_destroy(self):
     pm = MagicMock()
     ODMModel.set_pm(pm)
     dic = {"_id": "2323", "pippo": "pluto"}
     odm = ODMModel(dic)
     odm.destroy()
     pm.destroy_by_id.assert_called_once_with(odm.collection_name(), "2323")
Exemplo n.º 6
0
   def run_csv(self, files):
      """
      Process csv files.

      Arguments:
      - files: files we want process.

      Returns: None

      Instantiates a MongoDBPersistenceManager and a CSVTask to process the csv
      files whit the apposite procedure.
      """
      persistence       = MongoDBPersistenceManager(self._config)
      ODMModel.set_pm( persistence )

      task              = CSVTask(self._config)
      task.perform_updates_on_files(files)

      self.run_lookup()
Exemplo n.º 7
0
    def run_svg(self, b_ids):
        """
      Create svg files representing maps of buildings.

      Arguments:
      - b_ids: a list of string representing the building ids of the buildings
      we want create/update svg files.

      Returns: None

      Instantiates a MongoDBPersistenceManager and a SVGTask to create the svg
      files whit the apposite procedure.
      If b_ids is None the CSVTask create svg files of every building in the DB.
      """
        persistence = MongoDBPersistenceManager(self._config)
        ODMModel.set_pm(persistence)

        task = SVGTask(self._config)
        task.perform_svg_update(b_ids)
Exemplo n.º 8
0
    def run_csv(self, files):
        """
      Process csv files.

      Arguments:
      - files: files we want process.

      Returns: None

      Instantiates a MongoDBPersistenceManager and a CSVTask to process the csv
      files whit the apposite procedure.
      """
        persistence = MongoDBPersistenceManager(self._config)
        ODMModel.set_pm(persistence)

        task = CSVTask(self._config)
        task.perform_updates_on_files(files)

        self.run_lookup()
Exemplo n.º 9
0
   def run_svg(self, b_ids):
      """
      Create svg files representing maps of buildings.

      Arguments:
      - b_ids: a list of string representing the building ids of the buildings
      we want create/update svg files.

      Returns: None

      Instantiates a MongoDBPersistenceManager and a SVGTask to create the svg
      files whit the apposite procedure.
      If b_ids is None the CSVTask create svg files of every building in the DB.
      """
      persistence       = MongoDBPersistenceManager(self._config)
      ODMModel.set_pm( persistence )

      task              = SVGTask(self._config)
      task.perform_svg_update(b_ids)
Exemplo n.º 10
0
 def test_destroy(self):
    pm = MagicMock()
    ODMModel.set_pm(pm)
    dic = {"_id" : "2323", "pippo" : "pluto"}
    odm = ODMModel(dic)
    odm.destroy()
    pm.destroy_by_id.assert_called_once_with(odm.collection_name(), "2323")
   def setUp(self):
      pm = MongoDBPersistenceManager({
         "db": {
               "url"     : "localhost",
               "port"    : 27017,
               "db_name" : "campus_unimi_test"
            }
      })
      self.old_pm = getattr(ODMModel, "_pm", None)
      ODMModel.set_pm(pm)

      self.db_building  = {
          "_id" : "21030",
          "dxf" : {
            "l_b_id" : "5703",
            "floors" : [
               { "f_id" : "-05", "rooms": {}, "unidentified_rooms": [] },
            ]
          },
          "edilizia" : {
              "l_b_id"     : "5703",
              "b_id"       : "21030",
              "lat"        : "",
              "lon"        : "",
              "address"    : ""
          },
          "easyroom" : {
              "b_id"       : "21030",
              "address"    : "Via Celoria"
          }
      }

      pm.clean_collection("building")
      self.edil_up      = EdiliziaDataUpdater()
      self.easy_up      = EasyroomDataUpdater()
      self.dxf_updater  = DXFDataUpdater()
Exemplo n.º 12
0
 def test_clean(self):
    pm = MongoDBPersistenceManager({
       "db": {
             "url"     : "localhost",
             "port"    : 27017,
             "db_name" : "campus_unimi_test"
          }
    })
    ODMModel.set_pm(pm)
    dic = {"_id" : "2323", "pippo" : "pluto"}
    odm = ODMModel(dic)
    odm.save()
    self.assertEqual(ODMModel._pm.get_collection("odmmodel").find_one({"_id" : "2323"}), dic)
    odm.clean()
    self.assertEqual(ODMModel._pm.get_collection("odmmodel").find_one({"_id" : "2323"}), None)
Exemplo n.º 13
0
 def test_clean(self):
     pm = MongoDBPersistenceManager({
         "db": {
             "url": "localhost",
             "port": 27017,
             "db_name": "campus_unimi_test"
         }
     })
     ODMModel.set_pm(pm)
     dic = {"_id": "2323", "pippo": "pluto"}
     odm = ODMModel(dic)
     odm.save()
     self.assertEqual(
         ODMModel._pm.get_collection("odmmodel").find_one({"_id": "2323"}),
         dic)
     odm.clean()
     self.assertEqual(
         ODMModel._pm.get_collection("odmmodel").find_one({"_id": "2323"}),
         None)
Exemplo n.º 14
0
from persistence           import MongoDBPersistenceManager
from model                 import RoomCategory,Building,BuildingView,AvailableService
from tasks                 import LookupTableTask
from model.odm             import ODMModel
from bson.json_util        import dumps
from flask                 import Flask, jsonify,abort,request,send_from_directory,render_template,Markup
from datetime              import datetime
from api.model             import RoomTimeTable


app                     = Flask(__name__,static_url_path='')
app.app_config          = ConfigManager('config/general.json')
app.persistence         = MongoDBPersistenceManager(app.app_config)
app.api_namespace       = '/api'
app.api_version         = 'v1.0'
ODMModel.set_pm( app.persistence )
BuildingView.setup_collection()
# radius used with GeoSpatial Query (meters)
app.radius              = 2000
app.maps_folder         = 'static-maps'
app.lookup_table_folder = 'static-table'

###########
# HELPERS #
###########

def url_for_endpoint(url_endpoint):
   return '/'.join( [app.api_namespace,app.api_version,url_endpoint] )+'/'

def filter_buildings_by_service(buildings,service,remove_floor_details=False):
  return [ b for b in buildings if len([ f for f in b['floors'] if service in f['available_services'] ])>0  ]
Exemplo n.º 15
0
   def test_class_callbacks_are_called(self):
      ODMModel.set_pm(MagicMock())

      dic            = {"_id" : "2323", "pippo" : "pluto"}
      odm            = ODMModel(dic)
      odm.pippo      = MagicMock()
      odm.pluto      = MagicMock()
      odm.sempronio  = MagicMock()

      ODMModel.listen("before_save", "sempronio")
      ODMModel.listen("before_save", "pippo")

      ODMModel.listen("after_save", "pluto")
      ODMModel.listen("after_save", "sempronio")

      odm.save()

      MagicMock.assert_called_once_with(odm.pippo, odm)
      MagicMock.assert_called_once_with(odm.pluto, odm)
      self.assertEqual(odm.sempronio.call_count, 2)
Exemplo n.º 16
0
   def test_destroy_callbacks_are_called(self):
      ODMModel.set_pm(MagicMock())

      dic            = {"_id" : "2323", "pippo" : "pluto"}
      odm            = ODMModel(dic)
      pippo          = MagicMock()
      pluto          = MagicMock()
      sempronio      = MagicMock()

      ODMModel.listen("before_destroy", pippo)
      ODMModel.listen("before_destroy", sempronio)
      ODMModel.listen("after_destroy", sempronio)
      ODMModel.listen("after_destroy", pluto)

      odm.destroy()

      MagicMock.assert_called_once_with(pippo, odm)
      MagicMock.assert_called_once_with(pluto, odm)
      MagicMock.assert_any_call(sempronio, odm)
Exemplo n.º 17
0
class ODMModelTest(unittest.TestCase):
   def setUp(self):
      self.odm = ODMModel( { "pippo" : "pluto", "mickey": "paperino" } )
      self.old_before_callbacks    = ODMModel.before_callbacks
      self.old_after_callbacks     = ODMModel.after_callbacks

      ODMModel.before_callbacks    = {}
      ODMModel.after_callbacks     = {}

   def tearDown(self):
      ODMModel.before_callbacks    = self.old_before_callbacks
      ODMModel.after_callbacks     = self.old_after_callbacks

   def test_collection_name(self):
      self.assertEqual(self.odm.collection_name(), 'odmmodel')
      self.assertEqual(ODMModel.collection_name(), 'odmmodel')

   def test_clean(self):
      pm = MongoDBPersistenceManager({
         "db": {
               "url"     : "localhost",
               "port"    : 27017,
               "db_name" : "campus_unimi_test"
            }
      })
      ODMModel.set_pm(pm)
      dic = {"_id" : "2323", "pippo" : "pluto"}
      odm = ODMModel(dic)
      odm.save()
      self.assertEqual(ODMModel._pm.get_collection("odmmodel").find_one({"_id" : "2323"}), dic)
      odm.clean()
      self.assertEqual(ODMModel._pm.get_collection("odmmodel").find_one({"_id" : "2323"}), None)

   def test_destroy(self):
      pm = MagicMock()
      ODMModel.set_pm(pm)
      dic = {"_id" : "2323", "pippo" : "pluto"}
      odm = ODMModel(dic)
      odm.destroy()
      pm.destroy_by_id.assert_called_once_with(odm.collection_name(), "2323")

   def test_class_callbacks_are_saved(self):
      ODMModel.listen("before_save", "pippo")
      ODMModel.listen("before_save", "pluto")
      ODMModel.listen("before_save", "sempronio")

      self.assertTrue("pippo" in ODMModel.before_callbacks["ODMModel"]["save"])
      self.assertTrue("pluto" in ODMModel.before_callbacks["ODMModel"]["save"])
      self.assertTrue("sempronio" in ODMModel.before_callbacks["ODMModel"]["save"])

      self.assertEqual(["pippo", "pluto", "sempronio"], ODMModel.before_callbacks["ODMModel"]["save"] )

      ODMModel.listen("after_save", "pippo")
      ODMModel.listen("after_save","pluto")
      ODMModel.listen("after_save", "sempronio")

      self.assertTrue("pippo" in ODMModel.after_callbacks["ODMModel"]["save"])
      self.assertTrue("pluto" in ODMModel.after_callbacks["ODMModel"]["save"])
      self.assertTrue("sempronio" in ODMModel.after_callbacks["ODMModel"]["save"])

      self.assertEqual(["pippo", "pluto", "sempronio"], ODMModel.after_callbacks["ODMModel"]["save"] )

   def test_class_callbacks_are_called(self):
      ODMModel.set_pm(MagicMock())

      dic            = {"_id" : "2323", "pippo" : "pluto"}
      odm            = ODMModel(dic)
      odm.pippo      = MagicMock()
      odm.pluto      = MagicMock()
      odm.sempronio  = MagicMock()

      ODMModel.listen("before_save", "sempronio")
      ODMModel.listen("before_save", "pippo")

      ODMModel.listen("after_save", "pluto")
      ODMModel.listen("after_save", "sempronio")

      odm.save()

      MagicMock.assert_called_once_with(odm.pippo, odm)
      MagicMock.assert_called_once_with(odm.pluto, odm)
      self.assertEqual(odm.sempronio.call_count, 2)

   def test_destroy_callbacks_are_called(self):
      ODMModel.set_pm(MagicMock())

      dic            = {"_id" : "2323", "pippo" : "pluto"}
      odm            = ODMModel(dic)
      pippo          = MagicMock()
      pluto          = MagicMock()
      sempronio      = MagicMock()

      ODMModel.listen("before_destroy", pippo)
      ODMModel.listen("before_destroy", sempronio)
      ODMModel.listen("after_destroy", sempronio)
      ODMModel.listen("after_destroy", pluto)

      odm.destroy()

      MagicMock.assert_called_once_with(pippo, odm)
      MagicMock.assert_called_once_with(pluto, odm)
      MagicMock.assert_any_call(sempronio, odm)

   def test_instance_callbacks_are_saved(self):

      ODMModel.set_pm(MagicMock())

      dic            = {"_id" : "2323", "pippo" : "pluto"}
      odm            = ODMModel(dic)
      pippo          = MagicMock()
      pluto          = MagicMock()
      sempronio      = MagicMock()

      odm.listen_once("before_save", "pippo")
      odm.listen_once("before_save", "pluto")
      odm.listen_once("before_save", "sempronio")
      self.assertEqual(
                        odm.before_callbacks_single["save"],
                        ["pippo", "pluto", "sempronio"]
                        )

      odm.listen_once("after_save", "pippo")
      odm.listen_once("after_save", "sempronio")
      self.assertEqual(
                        odm.after_callbacks_single["save"],
                        ["pippo", "sempronio"]
                        )

   def test_instance_callbacks_are_executed_once(self):

      ODMModel.set_pm(MagicMock())

      dic            = {"_id" : "2323", "pippo" : "pluto"}
      odm            = ODMModel(dic)
      odm.pippo      = MagicMock()
      odm.pluto      = MagicMock()
      sempronio      = MagicMock()

      odm.listen_once("before_save", "pippo")
      odm.listen_once("before_save", "pluto")
      odm.listen_once("before_save", sempronio)
      odm.save()

      MagicMock.assert_called_once_with(odm.pippo, odm)
      MagicMock.assert_called_once_with(odm.pluto, odm)
      MagicMock.assert_called_once_with(sempronio, odm)
      self.assertEqual(odm.before_callbacks_single["save"], [])

      odm.pippo.reset_mock()
      odm.pluto.reset_mock()
      sempronio.reset_mock()
      odm.listen_once("after_destroy", "pippo")
      odm.listen_once("after_destroy", sempronio)
      odm.destroy()

      MagicMock.assert_called_once_with(odm.pippo, odm)
      MagicMock.assert_called_once_with(sempronio, odm)
      self.assertEqual(odm.pluto.call_count, 0)
      self.assertEqual(odm.after_callbacks_single["destroy"], [])
Exemplo n.º 18
0
    def test_destroy_callbacks_are_called(self):
        ODMModel.set_pm(MagicMock())

        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        pippo = MagicMock()
        pluto = MagicMock()
        sempronio = MagicMock()

        ODMModel.listen("before_destroy", pippo)
        ODMModel.listen("before_destroy", sempronio)
        ODMModel.listen("after_destroy", sempronio)
        ODMModel.listen("after_destroy", pluto)

        odm.destroy()

        MagicMock.assert_called_once_with(pippo, odm)
        MagicMock.assert_called_once_with(pluto, odm)
        MagicMock.assert_any_call(sempronio, odm)
Exemplo n.º 19
0
from utils.config_manager import ConfigManager
from persistence.db import MongoDBPersistenceManager
from model.odm      import ODMModel
from model          import Building
from utils.logger   import Logger
from analysis       import DXFAnalysis
from analysis       import FloorMergeAnalysis
from analysis       import BuildingIdAnalysis

persistence = MongoDBPersistenceManager(ConfigManager("config/general.json"))
ODMModel.set_pm( persistence )


def data_and_percent(value, total, num_padding = 3,):
   if(total > 0):
      return ("{:0>"+str(num_padding)+"} ({:>0.1f}%)").format(value, value/total*100.0)
   else:
      return ("{:0>"+str(num_padding)+"} ").format(value)

class GeneralReport:

   merge_tuples = [
            ("edilizia", "dxf"),
            ("edilizia", "easyroom"),
            ("easyroom", "dxf"),
            ("easyroom", "edilizia")
         ]

   @classmethod
   def report_building(klass, building):
      BuildingIdAnalysis.analyse_building_id(building)
Exemplo n.º 20
0
   def test_class_callbacks_are_saved(self):
      ODMModel.listen("before_save", "pippo")
      ODMModel.listen("before_save", "pluto")
      ODMModel.listen("before_save", "sempronio")

      self.assertTrue("pippo" in ODMModel.before_callbacks["ODMModel"]["save"])
      self.assertTrue("pluto" in ODMModel.before_callbacks["ODMModel"]["save"])
      self.assertTrue("sempronio" in ODMModel.before_callbacks["ODMModel"]["save"])

      self.assertEqual(["pippo", "pluto", "sempronio"], ODMModel.before_callbacks["ODMModel"]["save"] )

      ODMModel.listen("after_save", "pippo")
      ODMModel.listen("after_save","pluto")
      ODMModel.listen("after_save", "sempronio")

      self.assertTrue("pippo" in ODMModel.after_callbacks["ODMModel"]["save"])
      self.assertTrue("pluto" in ODMModel.after_callbacks["ODMModel"]["save"])
      self.assertTrue("sempronio" in ODMModel.after_callbacks["ODMModel"]["save"])

      self.assertEqual(["pippo", "pluto", "sempronio"], ODMModel.after_callbacks["ODMModel"]["save"] )
Exemplo n.º 21
0
 def test_collection_name(self):
    self.assertEqual(self.odm.collection_name(), 'odmmodel')
    self.assertEqual(ODMModel.collection_name(), 'odmmodel')
Exemplo n.º 22
0
    def test_class_callbacks_are_called(self):
        ODMModel.set_pm(MagicMock())

        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        odm.pippo = MagicMock()
        odm.pluto = MagicMock()
        odm.sempronio = MagicMock()

        ODMModel.listen("before_save", "sempronio")
        ODMModel.listen("before_save", "pippo")

        ODMModel.listen("after_save", "pluto")
        ODMModel.listen("after_save", "sempronio")

        odm.save()

        MagicMock.assert_called_once_with(odm.pippo, odm)
        MagicMock.assert_called_once_with(odm.pluto, odm)
        self.assertEqual(odm.sempronio.call_count, 2)
Exemplo n.º 23
0
   def test_instance_callbacks_are_saved(self):

      ODMModel.set_pm(MagicMock())

      dic            = {"_id" : "2323", "pippo" : "pluto"}
      odm            = ODMModel(dic)
      pippo          = MagicMock()
      pluto          = MagicMock()
      sempronio      = MagicMock()

      odm.listen_once("before_save", "pippo")
      odm.listen_once("before_save", "pluto")
      odm.listen_once("before_save", "sempronio")
      self.assertEqual(
                        odm.before_callbacks_single["save"],
                        ["pippo", "pluto", "sempronio"]
                        )

      odm.listen_once("after_save", "pippo")
      odm.listen_once("after_save", "sempronio")
      self.assertEqual(
                        odm.after_callbacks_single["save"],
                        ["pippo", "sempronio"]
                        )
Exemplo n.º 24
0
    def test_class_callbacks_are_saved(self):
        ODMModel.listen("before_save", "pippo")
        ODMModel.listen("before_save", "pluto")
        ODMModel.listen("before_save", "sempronio")

        self.assertTrue(
            "pippo" in ODMModel.before_callbacks["ODMModel"]["save"])
        self.assertTrue(
            "pluto" in ODMModel.before_callbacks["ODMModel"]["save"])
        self.assertTrue(
            "sempronio" in ODMModel.before_callbacks["ODMModel"]["save"])

        self.assertEqual(["pippo", "pluto", "sempronio"],
                         ODMModel.before_callbacks["ODMModel"]["save"])

        ODMModel.listen("after_save", "pippo")
        ODMModel.listen("after_save", "pluto")
        ODMModel.listen("after_save", "sempronio")

        self.assertTrue(
            "pippo" in ODMModel.after_callbacks["ODMModel"]["save"])
        self.assertTrue(
            "pluto" in ODMModel.after_callbacks["ODMModel"]["save"])
        self.assertTrue(
            "sempronio" in ODMModel.after_callbacks["ODMModel"]["save"])

        self.assertEqual(["pippo", "pluto", "sempronio"],
                         ODMModel.after_callbacks["ODMModel"]["save"])
Exemplo n.º 25
0
 def __init__(self):
     self._config = ConfigManager("config/general.json")
     self._data_persistence = MongoDBPersistenceManager(self._config)
     ODMModel.set_pm(self._data_persistence)
     BuildingView.setup_collection()
Exemplo n.º 26
0
 def __init__(self):
    self._config            = ConfigManager("config/general.json")
    self._data_persistence  = MongoDBPersistenceManager(self._config)
    ODMModel.set_pm( self._data_persistence )
    BuildingView.setup_collection()
Exemplo n.º 27
0
    def test_instance_callbacks_are_executed_once(self):

        ODMModel.set_pm(MagicMock())

        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        odm.pippo = MagicMock()
        odm.pluto = MagicMock()
        sempronio = MagicMock()

        odm.listen_once("before_save", "pippo")
        odm.listen_once("before_save", "pluto")
        odm.listen_once("before_save", sempronio)
        odm.save()

        MagicMock.assert_called_once_with(odm.pippo, odm)
        MagicMock.assert_called_once_with(odm.pluto, odm)
        MagicMock.assert_called_once_with(sempronio, odm)
        self.assertEqual(odm.before_callbacks_single["save"], [])

        odm.pippo.reset_mock()
        odm.pluto.reset_mock()
        sempronio.reset_mock()
        odm.listen_once("after_destroy", "pippo")
        odm.listen_once("after_destroy", sempronio)
        odm.destroy()

        MagicMock.assert_called_once_with(odm.pippo, odm)
        MagicMock.assert_called_once_with(sempronio, odm)
        self.assertEqual(odm.pluto.call_count, 0)
        self.assertEqual(odm.after_callbacks_single["destroy"], [])
Exemplo n.º 28
0
class ODMModelTest(unittest.TestCase):
    def setUp(self):
        self.odm = ODMModel({"pippo": "pluto", "mickey": "paperino"})
        self.old_before_callbacks = ODMModel.before_callbacks
        self.old_after_callbacks = ODMModel.after_callbacks

        ODMModel.before_callbacks = {}
        ODMModel.after_callbacks = {}

    def tearDown(self):
        ODMModel.before_callbacks = self.old_before_callbacks
        ODMModel.after_callbacks = self.old_after_callbacks

    def test_collection_name(self):
        self.assertEqual(self.odm.collection_name(), 'odmmodel')
        self.assertEqual(ODMModel.collection_name(), 'odmmodel')

    def test_clean(self):
        pm = MongoDBPersistenceManager({
            "db": {
                "url": "localhost",
                "port": 27017,
                "db_name": "campus_unimi_test"
            }
        })
        ODMModel.set_pm(pm)
        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        odm.save()
        self.assertEqual(
            ODMModel._pm.get_collection("odmmodel").find_one({"_id": "2323"}),
            dic)
        odm.clean()
        self.assertEqual(
            ODMModel._pm.get_collection("odmmodel").find_one({"_id": "2323"}),
            None)

    def test_destroy(self):
        pm = MagicMock()
        ODMModel.set_pm(pm)
        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        odm.destroy()
        pm.destroy_by_id.assert_called_once_with(odm.collection_name(), "2323")

    def test_class_callbacks_are_saved(self):
        ODMModel.listen("before_save", "pippo")
        ODMModel.listen("before_save", "pluto")
        ODMModel.listen("before_save", "sempronio")

        self.assertTrue(
            "pippo" in ODMModel.before_callbacks["ODMModel"]["save"])
        self.assertTrue(
            "pluto" in ODMModel.before_callbacks["ODMModel"]["save"])
        self.assertTrue(
            "sempronio" in ODMModel.before_callbacks["ODMModel"]["save"])

        self.assertEqual(["pippo", "pluto", "sempronio"],
                         ODMModel.before_callbacks["ODMModel"]["save"])

        ODMModel.listen("after_save", "pippo")
        ODMModel.listen("after_save", "pluto")
        ODMModel.listen("after_save", "sempronio")

        self.assertTrue(
            "pippo" in ODMModel.after_callbacks["ODMModel"]["save"])
        self.assertTrue(
            "pluto" in ODMModel.after_callbacks["ODMModel"]["save"])
        self.assertTrue(
            "sempronio" in ODMModel.after_callbacks["ODMModel"]["save"])

        self.assertEqual(["pippo", "pluto", "sempronio"],
                         ODMModel.after_callbacks["ODMModel"]["save"])

    def test_class_callbacks_are_called(self):
        ODMModel.set_pm(MagicMock())

        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        odm.pippo = MagicMock()
        odm.pluto = MagicMock()
        odm.sempronio = MagicMock()

        ODMModel.listen("before_save", "sempronio")
        ODMModel.listen("before_save", "pippo")

        ODMModel.listen("after_save", "pluto")
        ODMModel.listen("after_save", "sempronio")

        odm.save()

        MagicMock.assert_called_once_with(odm.pippo, odm)
        MagicMock.assert_called_once_with(odm.pluto, odm)
        self.assertEqual(odm.sempronio.call_count, 2)

    def test_destroy_callbacks_are_called(self):
        ODMModel.set_pm(MagicMock())

        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        pippo = MagicMock()
        pluto = MagicMock()
        sempronio = MagicMock()

        ODMModel.listen("before_destroy", pippo)
        ODMModel.listen("before_destroy", sempronio)
        ODMModel.listen("after_destroy", sempronio)
        ODMModel.listen("after_destroy", pluto)

        odm.destroy()

        MagicMock.assert_called_once_with(pippo, odm)
        MagicMock.assert_called_once_with(pluto, odm)
        MagicMock.assert_any_call(sempronio, odm)

    def test_instance_callbacks_are_saved(self):

        ODMModel.set_pm(MagicMock())

        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        pippo = MagicMock()
        pluto = MagicMock()
        sempronio = MagicMock()

        odm.listen_once("before_save", "pippo")
        odm.listen_once("before_save", "pluto")
        odm.listen_once("before_save", "sempronio")
        self.assertEqual(odm.before_callbacks_single["save"],
                         ["pippo", "pluto", "sempronio"])

        odm.listen_once("after_save", "pippo")
        odm.listen_once("after_save", "sempronio")
        self.assertEqual(odm.after_callbacks_single["save"],
                         ["pippo", "sempronio"])

    def test_instance_callbacks_are_executed_once(self):

        ODMModel.set_pm(MagicMock())

        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        odm.pippo = MagicMock()
        odm.pluto = MagicMock()
        sempronio = MagicMock()

        odm.listen_once("before_save", "pippo")
        odm.listen_once("before_save", "pluto")
        odm.listen_once("before_save", sempronio)
        odm.save()

        MagicMock.assert_called_once_with(odm.pippo, odm)
        MagicMock.assert_called_once_with(odm.pluto, odm)
        MagicMock.assert_called_once_with(sempronio, odm)
        self.assertEqual(odm.before_callbacks_single["save"], [])

        odm.pippo.reset_mock()
        odm.pluto.reset_mock()
        sempronio.reset_mock()
        odm.listen_once("after_destroy", "pippo")
        odm.listen_once("after_destroy", sempronio)
        odm.destroy()

        MagicMock.assert_called_once_with(odm.pippo, odm)
        MagicMock.assert_called_once_with(sempronio, odm)
        self.assertEqual(odm.pluto.call_count, 0)
        self.assertEqual(odm.after_callbacks_single["destroy"], [])
Exemplo n.º 29
0
 def test_collection_name(self):
     self.assertEqual(self.odm.collection_name(), 'odmmodel')
     self.assertEqual(ODMModel.collection_name(), 'odmmodel')
Exemplo n.º 30
0
   def test_instance_callbacks_are_executed_once(self):

      ODMModel.set_pm(MagicMock())

      dic            = {"_id" : "2323", "pippo" : "pluto"}
      odm            = ODMModel(dic)
      odm.pippo      = MagicMock()
      odm.pluto      = MagicMock()
      sempronio      = MagicMock()

      odm.listen_once("before_save", "pippo")
      odm.listen_once("before_save", "pluto")
      odm.listen_once("before_save", sempronio)
      odm.save()

      MagicMock.assert_called_once_with(odm.pippo, odm)
      MagicMock.assert_called_once_with(odm.pluto, odm)
      MagicMock.assert_called_once_with(sempronio, odm)
      self.assertEqual(odm.before_callbacks_single["save"], [])

      odm.pippo.reset_mock()
      odm.pluto.reset_mock()
      sempronio.reset_mock()
      odm.listen_once("after_destroy", "pippo")
      odm.listen_once("after_destroy", sempronio)
      odm.destroy()

      MagicMock.assert_called_once_with(odm.pippo, odm)
      MagicMock.assert_called_once_with(sempronio, odm)
      self.assertEqual(odm.pluto.call_count, 0)
      self.assertEqual(odm.after_callbacks_single["destroy"], [])
Exemplo n.º 31
0
    def test_instance_callbacks_are_saved(self):

        ODMModel.set_pm(MagicMock())

        dic = {"_id": "2323", "pippo": "pluto"}
        odm = ODMModel(dic)
        pippo = MagicMock()
        pluto = MagicMock()
        sempronio = MagicMock()

        odm.listen_once("before_save", "pippo")
        odm.listen_once("before_save", "pluto")
        odm.listen_once("before_save", "sempronio")
        self.assertEqual(odm.before_callbacks_single["save"],
                         ["pippo", "pluto", "sempronio"])

        odm.listen_once("after_save", "pippo")
        odm.listen_once("after_save", "sempronio")
        self.assertEqual(odm.after_callbacks_single["save"],
                         ["pippo", "sempronio"])
 def tearDown(self):
    ODMModel.set_pm(self.old_pm)
Exemplo n.º 33
0
   def setUp(self):
      pm = MongoDBPersistenceManager({
         "db": {
               "url"     : "localhost",
               "port"    : 27017,
               "db_name" : "campus_unimi_test"
            }
      })

      ODMModel.set_pm(pm)

      self.edil_rooms = [
         {
            'room_name' : 'Aula Seminari',
            'cat_name'  : 'Aula',
            'r_id'      : 'T-065',
            'b_id'      : '21030',
            'capacity'  : '52',
            'l_floor'   : 'T'
         },
         {
            'room_name' : 'Aula Pippo',
            'cat_name'  : 'Aula',
            'r_id'      : 'T066',
            'b_id'      : '21030',
            'capacity'  : '52',
            'l_floor'   : 'T'
         },
         {
            'room_name' : 'Aula Pippo Sdentato',
            'cat_name'  : 'Aula',
            'r_id'      : '1066',
            'b_id'      : '21030',
            'capacity'  : '52',
            'l_floor'   : '1'
         }
      ]

      self.easy_rooms = [
         {
            'room_name' : 'Aula Seminari',
            'cat_name'  : 'Aula',
            'r_id'      : '21030#T-065',
            'b_id'      : '21030',
            'capacity'  : '52',
            'l_floor'   : '0'
         },
         {
            'room_name' : 'Aula Pippo',
            'cat_name'  : 'Aula',
            'r_id'      : '21030#T066',
            'b_id'      : '21030',
            'capacity'  : '52',
            'l_floor'   : '0'
         },
         {
            'room_name' : 'Aula Pippo Sdentato',
            'cat_name'  : 'Aula',
            'r_id'      : '21030#1066',
            'b_id'      : '21030',
            'capacity'  : '52',
            'l_floor'   : '10'
         }
      ]

      pm.clean_collection("building")
      self.edil_up      = EdiliziaDataUpdater()
      self.easy_up      = EasyroomDataUpdater()
      Building.__str__  = lambda x: ""