Ejemplo n.º 1
0
func Mock() (*apicontext.DataContext, error) {
	var dtx apicontext.DataContext
	var err error
	// Needs to create records in the db for the following because of foreign key constraints:
	// Bare Min:
	dtx.CustomerID, err = InsertCustomer()
	if err != nil {
		return &dtx, err
	}

	// CustomerUser
	if dtx.UserID, err = CreateCustomerUser(dtx.CustomerID); err != nil {
		return &dtx, err
	}

	// Brand
	dtx.BrandID = 1

	// ApiKeyType
	keyTypes := []string{"Authentication", "Private", "Public"}

	keys := make(map[string]string)

	for _, keyType := range keyTypes {
		var keyTypeID string
		if keyTypeID, err = CreateApiKeyType(keyType); err != nil {
			return &dtx, err
		}

		// ApiKey and ApiKeyToBrand -
		if _, keys[keyType], err = CreateApiKey(dtx.UserID, keyTypeID, keyType, dtx.BrandID); err != nil {
			return &dtx, err
		}
	}

	dtx.Globals = make(map[string]interface{})
	dtx.Globals["keys"] = keys

	//leaves APIKey as public one
	for t, k := range keys {
		if t == "Public" {
			dtx.APIKey = k
		}
	}
	// Website
	if dtx.WebsiteID, err = CreateWebsite("http://www.testWebsite23sdf.com", "bogus website"); err != nil {
		return &dtx, err
	}

	// WebsiteToBrand
	var BrandIDs []int
	BrandIDs = append(BrandIDs, dtx.BrandID)
	if err = CreateWebsiteToBrands(BrandIDs, dtx.WebsiteID); err != nil {
		return &dtx, err
	}

	//CustomerToBrand
	if err = InsertCustomerToBrand(dtx.CustomerID, BrandIDs); err != nil {
		return &dtx, err
	}

	//brandString and array
	err = dtx.GetBrandsArrayAndString(dtx.APIKey, dtx.BrandID)
	if err != nil {
		return &dtx, err
	}
	return &dtx, nil
}