Exemple #1
0
 def check_has_block(case_block, should_have, should_not_have, line_by_line=True):
     for user in should_have:
         deprecated_check_user_has_case(self, user.to_ota_restore_user(),
             case_block, line_by_line=line_by_line)
     for user in should_not_have:
         deprecated_check_user_has_case(self, user.to_ota_restore_user(),
             case_block, should_have=False, line_by_line=line_by_line)
Exemple #2
0
    def testStockSyncToken(self):
        # first restore should not have the updated case
        deprecated_check_user_has_case(
            self, self.restore_user, self.sp_block, should_have=False,
            restore_id=self.sync_log_id, version=V2)

        # submit with token
        amounts = [(p._id, float(i * 10)) for i, p in enumerate(self.products)]
        self.submit_xml_form(balance_submission(amounts), last_sync_token=self.sync_log_id,
                             device_id=None)
        # now restore should have the case
        deprecated_check_user_has_case(
            self, self.restore_user, self.sp_block, should_have=True,
            restore_id=self.sync_log_id, version=V2, line_by_line=False)
Exemple #3
0
    def testStockSyncToken(self):
        # first restore should not have the updated case
        deprecated_check_user_has_case(
            self, self.restore_user, self.sp_block, should_have=False,
            restore_id=self.sync_log_id, version=V2)

        # submit with token
        amounts = [(p._id, float(i * 10)) for i, p in enumerate(self.products)]
        self.submit_xml_form(balance_submission(amounts), last_sync_token=self.sync_log_id,
                             device_id=None)
        # now restore should have the case
        deprecated_check_user_has_case(
            self, self.restore_user, self.sp_block, should_have=True,
            restore_id=self.sync_log_id, version=V2, line_by_line=False)
 def testRelationshipGetsSet(self):
     parent_case_id = uuid.uuid4().hex
     post_case_blocks(
         [CaseBlock(create=True, case_id=parent_case_id, user_id=self.user.user_id).as_xml()],
         domain=self.project.name
     )
     create_index = CaseBlock(
         create=True,
         case_id=self.CASE_ID,
         user_id=self.user.user_id,
         owner_id=self.user.user_id,
         index={'mom': ('mother-case', parent_case_id, 'extension')},
     ).as_xml()
     post_case_blocks([create_index], domain=self.project.name)
     deprecated_check_user_has_case(self, self.user, create_index)
Exemple #5
0
 def testRelationshipGetsSet(self):
     parent_case_id = uuid.uuid4().hex
     post_case_blocks(
         [CaseBlock(create=True, case_id=parent_case_id, user_id=self.user.user_id).as_xml()],
         domain=self.project.name
     )
     create_index = CaseBlock(
         create=True,
         case_id=self.CASE_ID,
         user_id=self.user.user_id,
         owner_id=self.user.user_id,
         index={'mom': ('mother-case', parent_case_id, 'extension')},
     ).as_xml()
     post_case_blocks([create_index], domain=self.project.name)
     deprecated_check_user_has_case(self, self.user, create_index)
Exemple #6
0
    def test_date_opened_coercion(self):
        delete_all_users()
        self.project = Domain(name='some-domain')
        self.project.save()
        user = create_restore_user(self.project.name)
        case_id = uuid.uuid4().hex
        modified_on = datetime.utcnow()
        case = CaseBlock(
            create=True,
            case_id=case_id,
            user_id=user.user_id, owner_id=user.user_id, case_type='demo',
            case_name='create_case', date_modified=modified_on, date_opened=modified_on, update={
                'dynamic': '123'
            }
        )

        post_case_blocks([case.as_xml()], domain='some-domain')
        # update the date_opened to date type to check for value on restore
        case.date_opened = case.date_opened.date()
        deprecated_check_user_has_case(self, user, case.as_xml())
Exemple #7
0
    def testIndexes(self):
        # Step 0. Create mother and father cases
        for prereq in [self.MOTHER_CASE_ID, self.FATHER_CASE_ID]:
            post_case_blocks([
                CaseBlock(create=True,
                          case_id=prereq,
                          user_id=self.user.user_id).as_xml()
            ],
                             domain=self.project.name)

        # Step 1. Create a case with index <mom>
        create_index = CaseBlock(
            create=True,
            case_id=self.CASE_ID,
            user_id=self.user.user_id,
            owner_id=self.user.user_id,
            index={
                'mom': ('mother-case', self.MOTHER_CASE_ID)
            },
        ).as_xml()

        post_case_blocks([create_index], domain=self.project.name)
        deprecated_check_user_has_case(self, self.user, create_index)

        # Step 2. Update the case to delete <mom> and create <dad>

        now = datetime.datetime.utcnow()
        update_index = CaseBlock(case_id=self.CASE_ID,
                                 user_id=self.user.user_id,
                                 index={
                                     'mom': ('mother-case', ''),
                                     'dad':
                                     ('father-case', self.FATHER_CASE_ID)
                                 },
                                 date_modified=now,
                                 date_opened=now.date()).as_xml()

        update_index_expected = CaseBlock(case_id=self.CASE_ID,
                                          user_id=self.user.user_id,
                                          owner_id=self.user.user_id,
                                          create=True,
                                          index={
                                              'dad': ('father-case',
                                                      self.FATHER_CASE_ID)
                                          },
                                          date_modified=now,
                                          date_opened=now.date()).as_xml()

        post_case_blocks([update_index], domain=self.project.name)

        deprecated_check_user_has_case(self, self.user, update_index_expected)

        # Step 3. Put <mom> back

        update_index = CaseBlock(case_id=self.CASE_ID,
                                 user_id=self.user.user_id,
                                 index={
                                     'mom':
                                     ('mother-case', self.MOTHER_CASE_ID)
                                 },
                                 date_modified=now,
                                 date_opened=now.date()).as_xml()

        update_index_expected = CaseBlock(case_id=self.CASE_ID,
                                          user_id=self.user.user_id,
                                          owner_id=self.user.user_id,
                                          create=True,
                                          index={
                                              'mom': ('mother-case',
                                                      self.MOTHER_CASE_ID),
                                              'dad': ('father-case',
                                                      self.FATHER_CASE_ID)
                                          },
                                          date_modified=now,
                                          date_opened=now.date()).as_xml()

        post_case_blocks([update_index], domain=self.project.name)

        deprecated_check_user_has_case(self, self.user, update_index_expected)
Exemple #8
0
    def testIndexes(self):
        # Step 0. Create mother and father cases
        for prereq in [self.MOTHER_CASE_ID, self.FATHER_CASE_ID]:
            post_case_blocks(
                [CaseBlock(create=True, case_id=prereq, user_id=self.user.user_id).as_xml()],
                domain=self.project.name
            )


        # Step 1. Create a case with index <mom>
        create_index = CaseBlock(
            create=True,
            case_id=self.CASE_ID,
            user_id=self.user.user_id,
            owner_id=self.user.user_id,
            index={'mom': ('mother-case', self.MOTHER_CASE_ID)},
        ).as_xml()

        post_case_blocks([create_index], domain=self.project.name)
        deprecated_check_user_has_case(self, self.user, create_index)

        # Step 2. Update the case to delete <mom> and create <dad>

        now = datetime.datetime.utcnow()
        update_index = CaseBlock(
            case_id=self.CASE_ID,
            user_id=self.user.user_id,
            index={'mom': ('mother-case', ''), 'dad': ('father-case', self.FATHER_CASE_ID)},
            date_modified=now,
            date_opened=now.date()
        ).as_xml()

        update_index_expected = CaseBlock(
            case_id=self.CASE_ID,
            user_id=self.user.user_id,
            owner_id=self.user.user_id,
            create=True,
            index={'dad': ('father-case', self.FATHER_CASE_ID)},
            date_modified=now,
            date_opened=now.date()
        ).as_xml()

        post_case_blocks([update_index], domain=self.project.name)

        deprecated_check_user_has_case(self, self.user, update_index_expected)

        # Step 3. Put <mom> back

        update_index = CaseBlock(
            case_id=self.CASE_ID,
            user_id=self.user.user_id,
            index={'mom': ('mother-case', self.MOTHER_CASE_ID)},
            date_modified=now,
            date_opened=now.date()
        ).as_xml()

        update_index_expected = CaseBlock(
            case_id=self.CASE_ID,
            user_id=self.user.user_id,
            owner_id=self.user.user_id,
            create=True,
            index={'mom': ('mother-case', self.MOTHER_CASE_ID),
                   'dad': ('father-case', self.FATHER_CASE_ID)},
            date_modified=now,
            date_opened=now.date()
        ).as_xml()

        post_case_blocks([update_index], domain=self.project.name)

        deprecated_check_user_has_case(self, self.user, update_index_expected)