Package com.google.api.adwords.v201008

Source Code of com.google.api.adwords.v201008.CampaignCriterionServiceTest

// Copyright 2011 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.api.adwords.v201008;

import junit.framework.TestCase;

import com.google.api.adwords.lib.AdWordsService;
import com.google.api.adwords.lib.AdWordsUser;
import com.google.api.adwords.v201008.cm.CampaignCriterion;
import com.google.api.adwords.v201008.cm.CampaignCriterionIdFilter;
import com.google.api.adwords.v201008.cm.CampaignCriterionOperation;
import com.google.api.adwords.v201008.cm.CampaignCriterionPage;
import com.google.api.adwords.v201008.cm.CampaignCriterionReturnValue;
import com.google.api.adwords.v201008.cm.CampaignCriterionSelector;
import com.google.api.adwords.v201008.cm.CampaignCriterionServiceInterface;
import com.google.api.adwords.v201008.cm.Criterion;
import com.google.api.adwords.v201008.cm.Keyword;
import com.google.api.adwords.v201008.cm.KeywordMatchType;
import com.google.api.adwords.v201008.cm.NegativeCampaignCriterion;
import com.google.api.adwords.v201008.cm.Operator;

/**
* Functional tests for AdGroupAdService.
*
* @author api.naoki.ishihara@gmail.com (Naoki Ishihara)
*/
public class CampaignCriterionServiceTest extends TestCase {
  private AdWordsUser user = null;
  private CampaignCriterionServiceInterface service = null;
  private long campaignId;
  private long criterionId;
  private TestUtils testUtils = null;

  /**
   * Set up the test fixtures.
   */
  @Override
  protected void setUp() throws Exception {
    super.setUp();
    user = new AdWordsUser("test_data/test.properties");
    service = user.getService(AdWordsService.V201008.CAMPAIGN_CRITERION_SERVICE);
    testUtils = new TestUtils(user);
    campaignId = testUtils.createCampaign();
    criterionId = testUtils.createNegativeCampaignKeyword(campaignId);
  }

  /**
   * Test adding a negative campaign criterion.
   */
  public void testAddNegative() throws Exception {
    // Create keyword.
    Keyword keyword = new Keyword();
    keyword.setText("mars cruise");
    keyword.setMatchType(KeywordMatchType.BROAD);

    // Create negative campaign criterion.
    NegativeCampaignCriterion criterion = new NegativeCampaignCriterion();
    criterion.setCampaignId(campaignId);
    criterion.setCriterion(keyword);

    // Create operations.
    CampaignCriterionOperation operation = new CampaignCriterionOperation();
    operation.setOperand(criterion);
    operation.setOperator(Operator.ADD);

    // Add campaign criteria.
    CampaignCriterionReturnValue result = service
        .mutate(new CampaignCriterionOperation[] {operation});
    NegativeCampaignCriterion testCriterion = (NegativeCampaignCriterion) result.getValue()[0];

    // Exclude generated fields.
    criterion.getCriterion().setId(testCriterion.getCriterion().getId());
    criterion.getCriterion().setCriterionType(testCriterion.getCriterion().getCriterionType());
    criterion.setCampaignCriterionType(testCriterion.getCampaignCriterionType());

    TestUtils.assertDeepReflectionEquals(criterion, testCriterion);
  }

  /**
   * Test removing a campaign criterion.
   */
  public void testRemove() throws Exception {
    // Create a campaign criteria
    CampaignCriterion criterion = new CampaignCriterion();
    criterion.setCampaignId(campaignId);
    criterion.setCriterion(new Criterion(criterionId, null));

    // Create operation
    CampaignCriterionOperation operation = new CampaignCriterionOperation();
    operation.setOperand(criterion);
    operation.setOperator(Operator.REMOVE);

    // Remove campaign criteria
    CampaignCriterionReturnValue result = service
        .mutate(new CampaignCriterionOperation[] {operation});
    CampaignCriterion testCriterion = (CampaignCriterion) result.getValue()[0];

    assertEquals(criterion.getCriterion().getId(), testCriterion.getCriterion().getId());
  }

  /**
   * Test getting campaign criterion.
   */
  public void testGet() throws Exception {
    // Create selector and filter.
    CampaignCriterionSelector selector = new CampaignCriterionSelector();
    CampaignCriterionIdFilter filter = new CampaignCriterionIdFilter(campaignId, criterionId);
    selector.setIdFilters(new CampaignCriterionIdFilter[] {filter});

    CampaignCriterionPage page = service.get(selector);

    assertNotNull(page);
    assertNotNull(page.getEntries());
    assertTrue("Expected at least 1 entry", page.getTotalNumEntries() >= 1);
  }

  /**
   * Test getting all campaign criteria in a campaign.
   */
  public void testGetAllInCampaign() throws Exception {
    // Create selector and filter.
    CampaignCriterionSelector selector = new CampaignCriterionSelector();
    CampaignCriterionIdFilter filter = new CampaignCriterionIdFilter(campaignId, null);
    selector.setIdFilters(new CampaignCriterionIdFilter[] {filter});

    CampaignCriterionPage page = service.get(selector);

    assertNotNull(page);
    assertNotNull(page.getEntries());
    assertTrue("Expected at least 1 entry", page.getTotalNumEntries() >= 1);
  }

  /**
   * Test getting all campaign criteria.
   */
  public void testGetAll() throws Exception {
    // Create selector.
    CampaignCriterionSelector selector = new CampaignCriterionSelector();
    CampaignCriterionPage page = service.get(selector);

    assertNotNull(page);
    assertNotNull(page.getEntries());
    assertTrue("Expected at least 1 entry", page.getTotalNumEntries() >= 1);
  }
}
TOP

Related Classes of com.google.api.adwords.v201008.CampaignCriterionServiceTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.