コード例 #1
0
ファイル: job_utils_test.py プロジェクト: sajalasati/oppia
    def test_from_and_then_to_model(self):
        model = FooModel(id='abc', project=feconf.OPPIA_PROJECT_ID, prop='123')

        self.assertEqual(
            model,
            job_utils.get_ndb_model_from_beam_entity(
                job_utils.get_beam_entity_from_ndb_model(model)))
コード例 #2
0
ファイル: stub_io.py プロジェクト: rohitkatlaa/oppia
    def _read_from_datastore_handler(self, pickled_query):
        """XML-RPC handler for a ReadFromDatastore request.

        Args:
            pickled_query: str. The encoded Apache Beam query to respect.

        Returns:
            str. The list of all models encoded as a pickled list of Apache Beam
            entities.
        """
        with self._datastore_lock:
            # TODO(#11475): This is very wasteful and inefficient, but good
            # enough for unit tests and local development. When we move to Cloud
            # NDB we'll have the genuine datastoreio module, and we'll be able
            # to delete this code entirely, so it's OK to depend on this
            # implementation until then.
            ndb_models = list(datastore_services.query_everything().iter())

        beam_query = pickle.loads(pickled_query)
        job_utils.apply_query_to_models(beam_query, ndb_models)

        return pickle.dumps([
            job_utils.get_beam_entity_from_ndb_model(model)
            for model in ndb_models
        ])
コード例 #3
0
ファイル: job_utils_test.py プロジェクト: sajalasati/oppia
    def test_get_beam_entity_from_model(self):
        model = FooModel(id='abc', project=feconf.OPPIA_PROJECT_ID, prop='123')

        beam_entity = job_utils.get_beam_entity_from_ndb_model(model)

        self.assertEqual(beam_entity.key.path_elements, ('FooModel', 'abc'))
        self.assertEqual(beam_entity.key.project, feconf.OPPIA_PROJECT_ID)
        self.assertEqual(beam_entity.properties, {'prop': '123'})
コード例 #4
0
    def test_from_and_then_to_beam_entity(self):
        beam_entity = beam_datastore_types.Entity(
            beam_datastore_types.Key(('FooModel', 'abc'),
                                     project=feconf.OPPIA_PROJECT_ID))
        beam_entity.set_properties({'prop': '123'})

        self.assertEqual(
            beam_entity,
            job_utils.get_beam_entity_from_ndb_model(
                job_utils.get_ndb_model_from_beam_entity(beam_entity)))
コード例 #5
0
ファイル: job_utils_test.py プロジェクト: sajalasati/oppia
    def test_from_and_then_to_beam_entity(self):
        beam_entity = beam_datastore_types.Entity(
            beam_datastore_types.Key(
                ('CoreModel', 'abc'), project=feconf.OPPIA_PROJECT_ID))
        beam_entity.set_properties({
            'prop': 123,
            'created_on': None,
            'last_updated': None,
            'deleted': False,
        })

        self.assertEqual(
            beam_entity,
            job_utils.get_beam_entity_from_ndb_model(
                job_utils.get_ndb_model_from_beam_entity(beam_entity)))
コード例 #6
0
    def test_read_from_datastore(self):
        query_everything = job_utils.get_beam_query_from_ndb_query(
            datastore_services.query_everything())
        model_list = [
            self.create_model(base_models.BaseModel, id='a'),
            self.create_model(base_models.BaseModel, id='b'),
            self.create_model(base_models.BaseModel, id='c'),
        ]
        self.put_multi(model_list)

        with self.stub.context():
            model_pcoll = (self.pipeline
                           | self.stub.ReadFromDatastore(query_everything))

            self.assert_pcoll_equal(model_pcoll, [
                job_utils.get_beam_entity_from_ndb_model(m) for m in model_list
            ])