Exemplo n.º 1
0
def sample_create_milestone_payment():

    url = os.environ['FLN_URL']
    id = os.environ['FLN_DEVELOPER_ID']
    token = os.environ['FLN_DEVELOPER_TOKEN']

    project_id = os.environ['PROJECT_ID']
    bidder_id = os.environ['BIDDER_ID']

    session = Session(id=id, token=token, url=url)
    milestone_data = {
        'project_id': int(project_id),
        'bidder_id': int(bidder_id),
        'amount': 10,
        'reason': MilestoneReason.PARTIAL_PAYMENT.value,
        'description': 'This is a milestone',
    }
    try:
        m = create_milestone_payment(session, **milestone_data)
    except MilestoneNotCreatedException as e:
        print('Error message: %s' % e.message)
        print('Server response: %s' % e.error_code)
        return None
    else:
        return m
def sample_create_milestone_payment():

    url = os.environ['FLN_URL']
    id = os.environ['FLN_DEVELOPER_ID']
    token = os.environ['FLN_DEVELOPER_TOKEN']

    project_id = os.environ['PROJECT_ID']
    bidder_id = os.environ['BIDDER_ID']

    session = Session(id=id, token=token, url=url)
    milestone_data = {
        'project_id': int(project_id),
        'bidder_id': int(bidder_id),
        'amount': 10,
        'reason': MilestoneReason.PARTIAL_PAYMENT.value,
        'description': 'This is a milestone',
    }
    try:
        m = create_milestone_payment(session, **milestone_data)
    except MilestoneNotCreatedException as e:
        print('Error message: %s' % e.message)
        print('Server response: %s' % e.error_code)
        return None
    else:
        return m
Exemplo n.º 3
0
def create_milestone():
    # get bid details
    bid_id = json.loads(request.data)['bid_id']
    get_bid_data = {
        'bid_ids': [
            bid_id,
        ],
    }
    try:
        # TODO: Make this an app level attribute instead
        s = Session(oauth_token=h["Freelancer-OAuth-V1"], url=base_url)
        response = get_bids(s, **get_bid_data)
    except BidsNotFoundException as e:
        print('Error message: {}'.format(e.message))
        print('Server response: {}'.format(e.error_code))
        return jsonify(response)
    # create the milestone
    if (len(response['bids']) > 0):
        response = response['bids'][0]
    else:
        error = {
            'status': 'error',
            'message': 'No bid found.',
        }
        return jsonify(error)
    milestone_data = {
        "bidder_id": response["bidder_id"],
        "amount": response["amount"],
        "project_id": response["project_id"],
        "reason": MilestoneReason.PARTIAL_PAYMENT.value,
        "description": "Full payment upon delivery."
    }
    data = None
    try:
        s = Session(oauth_token=h["Freelancer-OAuth-V1"], url=base_url)
        data = create_milestone_payment(s, **milestone_data)
    except MilestoneNotCreatedException as e:
        print(('Error message: %s' % e.message))
        print(('Server response: %s' % e.error_code))
        return jsonify(data)
    else:
        result = {
            'result': {
                'amount': data.amount,
                'transaction_id': data.transaction_id
            }
        }
        return jsonify(result)
Exemplo n.º 4
0
    def test_create_milestone_payment(self):
        milestone_data = {
            'project_id': 1,
            'bidder_id': 2,
            'amount': 10,
            'reason': MilestoneReason.PARTIAL_PAYMENT,
            'description': 'This is a milestone',
        }

        self.session.session.post = Mock()
        self.session.session.post.return_value = FakeMilestonePaymentCreatePostResponse()
        m = create_milestone_payment(self.session, **milestone_data)
        self.session.session.post.assert_called_once_with(
            'https://fake-fln.com/api/projects/0.1/milestones/',
            json=milestone_data,
            verify=True)
        self.assertTrue(getattr(m, 'bidder_id'))
        self.assertTrue(getattr(m, 'description'))
        self.assertEquals(m.reason, MilestoneReason.PARTIAL_PAYMENT)
    def test_create_milestone_payment(self):
        milestone_data = {
            'project_id': 1,
            'bidder_id': 2,
            'amount': 10,
            'reason': MilestoneReason.PARTIAL_PAYMENT,
            'description': 'This is a milestone',
        }

        self.session.session.post = Mock()
        self.session.session.post.return_value = FakeMilestonePaymentCreatePostResponse()
        m = create_milestone_payment(self.session, **milestone_data)
        self.session.session.post.assert_called_once_with(
            'https://fake-fln.com/api/projects/0.1/milestones/',
            json=milestone_data,
            verify=True)
        self.assertTrue(getattr(m, 'bidder_id'))
        self.assertTrue(getattr(m, 'description'))
        self.assertEquals(m.reason, MilestoneReason.PARTIAL_PAYMENT)